android布局在不同的屏幕尺寸

时间:2014-08-28 21:17:45

标签: android layout screen scaling

试图了解屏幕大小,以便我的应用在不同的设备上看起来一样。

我有两个设备,一个星系s3和一个星系标签8.两个都有相同的分辨率屏幕720 x 1280但s3是4.7英寸,而标签是8英寸

当我进行线性布局时,我在顶部将填充设置为130,这样第一个文本视图距离顶部130像素,因此背景上的图像不会被遮挡。

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

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

有没有办法解决如何让textview出现在两个设备上的同一位置

任何帮助表示赞赏

标记

3 个答案:

答案 0 :(得分:2)

是的,有办法。

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

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

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

示例:

您已经拥有文件'dimens.xml'的文件夹'values',您可以添加边距和大小变量。

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

在设备'large'中,它将从其余设备加载不同的值。

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

希望它对你有所帮助。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

首先,您需要使用dp而不是px来执行这些操作。结果错误的原因是s3上每英寸的点数远远高于星系标签8的点数。您应该真正阅读此链接以了解更多信息。

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