【问题标题】:android layout at different screen sizes不同屏幕尺寸的android布局
【发布时间】:2014-10-22 20:51:45
【问题描述】:

试图了解屏幕尺寸,以便我的应用在不同设备上看起来相同。

我有两个设备:galaxy s3 和galaxy tab 8。两者都有相同的分辨率屏幕,720 x 1280,但 s3 是 4.7 英寸,而标签是 8 英寸

当我进行线性布局时,我将顶部的 padding 设置为 130,这样第一个 textview 距离顶部 130 像素,这样背景上的图像就不会被遮挡。

这在 s3 上很好,但是当我将它加载到选项卡上时,填充需要更改为 190 像素才能使其看起来相同。

如果两个设备上的屏幕分辨率高度相同(1280),我无法转头,为什么我需要在屏幕上使用更大的填充

有没有办法让文本视图出现在两个设备上的相同位置

任何帮助表示赞赏

标记

【问题讨论】:

    标签: android layout screen scaling


    【解决方案1】:

    是的,有办法。

    首先,您应该使用 DP 或 SP 单元而不是 PX。 DP 单元考虑了屏幕尺寸和屏幕分辨率。你可以在这里看到更多:

    What is the difference between "px", "dp", "dip" and "sp" on Android?

    您也可以在 res 中创建一个文件夹,并为不同的设备添加不同的大小。

    例子:

    您已经拥有包含文件“dimens.xml”的文件夹“values”,您可以在其中添加边距和大小变量。

    如果创建文件夹“values-large”并复制文件“dimens.xml”,则可以更改变量的大小并保持名称。

    在“大型”设备中,它将加载与其余设备不同的值。

    您可以在此处查看所有文档:http://developer.android.com/guide/practices/screens_support.html

    希望对你有帮助。

    【讨论】:

    • 感谢您的帮助,我会尽力理解它
    【解决方案2】:

    您需要为 2 种不同的屏幕尺寸添加 2 种不同的布局。事实上,您可以提供仅受您的考虑限制的多屏幕支持。您可以根据屏幕尺寸自定义布局。 Here 是帮助您开始的官方文档。

    【讨论】:

    • 我认为这已被弃用,现在不再是建议的方式
    【解决方案3】:

    首先,你需要使用 dp 而不是 px 来做这些事情。结果错误的原因是s3上每英寸的点数比galaxy tab 8的要高得多。您应该阅读此链接以了解更多信息。

    [http://www.captechconsulting.com/blog/steven-byle/understanding-density-independence-android][1]

    【讨论】:

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