不同屏幕尺寸下的Android布局

5
尝试了解屏幕大小,以便我的应用程序在不同设备上看起来相同。
我有两个设备,一个Galaxy S3和一个Galaxy Tab 8。它们都有相同分辨率的屏幕720 x 1280,但S3是4.7英寸而Tab是8英寸。
当我进行线性布局时,我将顶部的填充设置为130,以使第一个TextView距离顶部130像素,以便不遮挡背景上的图像。
这在S3上很好,但当我在平板电脑上加载它时,需要将填充更改为190像素才能看起来相同。
我无法想通如果屏幕分辨率的高度在两个设备上都相同(1280),为什么我需要在屏幕上增加填充。
有没有办法找出如何使TextView在两个设备上出现在相同的位置?
感谢任何帮助。
马克
3个回答

2

是的,有一种方法。

首先,你应该使用DP或SP单位而不是PX。DP单位考虑了屏幕大小和屏幕分辨率。你可以在这里了解更多:

Android中“px”、“dp”、“dip”和“sp”的区别是什么?

此外,你可以在res中创建一个文件夹,并为不同的设备添加不同的尺寸。

例如:

你已经有了文件夹“values”,其中包含文件“dimens.xml”,你可以添加间距和尺寸变量。

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

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

你可以在这里查看所有文档:http://developer.android.com/guide/practices/screens_support.html

希望能对你有所帮助。


谢谢您的帮助,我会尽力理解它。 - user3422687

1
你需要为2个不同的屏幕大小添加2种不同的布局。事实上,您可以提供多个屏幕支持,只受您考虑的限制。您可以根据屏幕大小自定义布局。这里是官方文档,以帮助您开始。

我认为这已经过时了,现在不再建议使用该方法了。 - A.s.ALI

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接