如何在android中设置不同屏幕尺寸的布局

时间:2013-03-24 09:19:28

标签: android xml android-layout

我正在开发一款应用程序,当我在不同的屏幕尺寸设备上运行它时会有一些文本和按钮,它会显示意外的结果,如下图所示!

[图片1] http://oi45.tinypic.com/25yvon4.jpg [图片2] http://oi45.tinypic.com/xmlqns.jpg

在第一张图片中,由于屏幕尺寸较大,一些空间在底部空置,而在第二张图片中,由于屏幕尺寸较小,最后一排按钮被隐藏。对于按钮,我使用的是表格布局。

有没有办法解决这个问题。

3 个答案:

答案 0 :(得分:4)

这是一个需要首先进行空间理解的广泛主题。 这是一个很好的起点 - http://developer.android.com/guide/practices/screens_support.html

长话短说,总是使用点单位(dps),尽量避免代码中的硬编码像素,以相对方式定位项目(即:相对于其他对象 - RelativeLayout,LinearLayout等)并确保利用“值-...”文件夹的强大功能。 实施例

values-xhdpi(XH)

values-hdpi(H)

values-mdpi(M)

价值 - 土地(风景)

values-sw600dp(最小宽度至少为600dp)

...

答案 1 :(得分:2)

如果您关心各种屏幕尺寸,请使用layout,layout-large和layout-xlarge资源文件夹来自定义布局文件。在手机,7“和10”平板电脑上测试这些布局,以覆盖您的所有基础。

对于小于4英寸屏幕(qvga)的小型手机以及旧设备(wvga),制作自定义布局文件(在布局文件夹中)并在检测到这些类型的设备时在您的Java代码中动态引用它们再次,尽可能地测试这些旧款和小型手机。借用Sony Device Loaner Program中的一些手机,以便进行真实的测试。

最后,如果要在较小的屏幕上进行垂直滚动,请使用ScrollView嵌入布局。不要试图将所有东西放在较小的屏幕上。有时,滚动是您的用户可以理解的自然解决方案。

答案 2 :(得分:0)

如果您想解决问题,必须为所有设备制作屏幕。请阅读下面不同屏幕的文档: -

http://developer.android.com/guide/practices/screens_support.html

您可以使用重量或布局重量来防止出现此问题。