我读过有关支持多种屏幕尺寸的Android文档,但我似乎就是无法理解它。我知道需要在布局名称中设置限定符,android会选择与手机宽度接近的限定符。
我目前不担心平板电脑,但当我为我的物理设备开发时,一切都很好,都在默认布局文件夹中: layout/main.xml
但如果我在朋友的手机三星Galaxy S4上测试,一切都是垂直的。我真的不知道从何说起……
有没有一套标准的文件夹,我可以实现在其中放置我的布局,然后编辑以优化性能?
发布于 2014-01-31 12:24:45
http://developer.android.com/training/basics/supporting-devices/screens.html。所有这些都在本教程链接中进行了解释。
发布于 2014-01-31 12:25:34
如果一个布局应该支持所有屏幕,
注意:如果您对较小的设备ui和较大的设备ui进行了较小的更改,则在创建时获取设备高度和宽度,进行您的更改(图像、布局宽度等)。来自java的运行时
如果你的应用从小设备到大设备都不像,那就使用
使用布局(手机)、布局-大(7英寸制表符)布局-xlarge(10英寸制表符)
发布于 2014-01-31 13:12:59
从与设备无关的像素(dp)和字体的可缩放独立像素(sp)开始
如果在那之后有东西被垂直拉伸,这可能意味着它是一个试图填满布局的整个高度的背景图像(顺便说一句,下次你有问题时,请务必张贴相关的xml代码和图像的尺寸,或者至少是问题的屏幕截图)。
在这种情况下,只需使用不同的大小密度限定符来解决您的问题(而不是您的密度限定符)。密度限定符对大于设备屏幕的宽度或高度的位图的宽度或高度没有帮助。这只是你应该知道的一个经验法则。

使用Android Studio/IntelliJ布局设计器中的工具栏选择框一次快速测试多个设备屏幕。这是最快的方法。请不要使用Eclipse,它的ADT布局设计器不具备该功能(至少,我最后一次检查时没有)。即使您大多数时间使用Eclipse,使用Android Studio/intelliJ来实现该功能也是值得的,然后在测试完布局的这一方面后再切换回Eclipse (假设之后它仍然是您最喜欢的IDE )。
此外,不要试图为您遇到的每个大小限定符做不同的布局。只对实际给你带来问题的布局使用不同的大小限定符。不要忘记,不需要复制的公共布局组件可以在父布局中抽象出来。如果您可以找到一种方法来解决您的特定问题,而不使用大小限定符,那么它也同样有效。例如,如果不是使用单个图像作为背景,可以将其替换为不介意以不同的纵横比裁剪的较大图像,或者将背景图像替换为完全不同且抽象的图像(如纯色、渐变、平铺背景、大型矢量图形或大型补丁-九个png),看起来可以使用不同的纵横比,这可能会更简单。
https://stackoverflow.com/questions/21472314
复制相似问题