Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不同屏幕尺寸的android布局_Android_Layout_Screen_Scaling - Fatal编程技术网

不同屏幕尺寸的android布局

不同屏幕尺寸的android布局,android,layout,screen,scaling,Android,Layout,Screen,Scaling,试着了解屏幕大小,使我的应用程序在不同的设备上看起来相同 我有两个设备:galaxy s3和galaxy tab 8。两者都有相同的分辨率屏幕720 x 1280,但s3为4.7英寸,而tab为8英寸 当我做线性布局时,我在顶部将padding设置为130,这样第一个textview距离顶部130像素,这样背景上的图像就不会被遮挡 这在s3上很好,但当我在选项卡上加载它时,填充需要更改为190像素,使其看起来相同 如果两台设备上的屏幕分辨率高度相同(1280),我就无法让自己清醒过来。为什么我需

试着了解屏幕大小,使我的应用程序在不同的设备上看起来相同

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

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

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

如果两台设备上的屏幕分辨率高度相同(1280),我就无法让自己清醒过来。为什么我需要屏幕上更大的填充

有没有办法让textview显示在两台设备的同一位置

谢谢你的帮助


标记

首先,您需要使用dp而不是px来完成这类工作。结果错误的原因是s3上每英寸的点数远远高于galaxy tab 8。你真的应该阅读这个链接来了解更多


[

您需要为两种不同的屏幕大小添加两种不同的布局。事实上,您可以提供多屏幕支持,但仅限于您的考虑。您可以根据屏幕大小自定义布局。是的,官方文档可以帮助您进行操作。

是的,有一种方法

首先,您应该使用DP或SP单元而不是PX。DP单元考虑了屏幕的大小和屏幕分辨率。您可以在此处看到更多信息:

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

例如:

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

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

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

您可以在此处查看所有文档:


希望它能对您有所帮助。

谢谢您的帮助,我将尝试并理解它。我认为这是不可取的,现在不再是建议的方式