【问题标题】:Can an Android layout scale to fill the screen?Android 布局可以缩放以填满屏幕吗?
【发布时间】:2013-09-30 13:16:33
【问题描述】:

所以我有一个基于 Android 表单的应用程序,它可以漂亮地填充 7 英寸的屏幕,只有纵向,并且有 50 多个表单。我不必重新设计每个表单(或整个应用程序)以适应每个不同的分辨率,我的商业案例解决方案是仅缩放表格以填满屏幕。10 英寸平板电脑看起来有点间隔(但我可以添加一些边距),而在手机上最好有手写笔和良好的视力!

与其争论这些是否是好的选择,我的问题是:可以做到吗?在 Windows CE 上,表单通过“对话框单元”随文本大小缩放,效果很好。 Android 没有类似的东西,除非有使用“sp”单位的棘手方法。无论如何,除非我遗漏了什么,否则让一个表格在不同的分辨率下很好地填充屏幕看起来就像是头发拉出来的领域。

在回答 cmets 时,它是使用 XML 布局定义的本机应用程序。例如,您可以使用任何示例应用程序并展示如何使其缩放到不同的屏幕尺寸,因此如果屏幕很小,无论分辨率如何,您都会得到微小的文本。

要明确一点:我认为通过描述如何使用标准的 Android 方式来处理多种屏幕尺寸,我认为这个问题无法得到有益的回答:http://developer.android.com/guide/practices/screens_support.html。这是我这次不想做的。这真的是关于如何做其他事情——缩放以适应——在你真正需要的时候。

【问题讨论】:

  • 如果我理解正确的话,是的,可以做到。不过最好把表格的代码和图片放在这里。
  • @gnclmorais:是的,我同意,但我还没有弄清楚如何有效地做到这一点。只需使用任何本机应用程序并使其扩展!

标签: android android-layout android-widget


【解决方案1】:

我希望我能很好地理解你的情况:

如果是 Web 应用程序(您使用的是 webview),则使用 viewport 标签:

<meta name="viewport" content="width=device-width;">

这将使页面内容适合设备屏幕。

或者,如果它是本机应用程序(也适用于 Web 应用程序),您可以在布局 XML 中为您的布局高度和宽度添加 fill-parent。

【讨论】:

    【解决方案2】:

    使用此代码:

    Display display = getWindowManager().getDefaultDisplay();
    width = display.getWidth();
    height = display.getHeight();
    

    要获取任何 Android 屏幕的高度和宽度,并使用此特定尺寸,设置布局的比例。

    例如,

    RelativeLayout fieldMain = (RelativeLayout)findViewById(R.id.field_layout);
    
    fieldMain.setLayoutParams(new RelativeLayout.LayoutParams((Int)(0.8*width), (int) (0.9*height)));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多