我正在开发一款应用程序,当我在不同的屏幕尺寸设备上运行它时会有一些文本和按钮,它会显示意外的结果,如下图所示!
[图片1] http://oi45.tinypic.com/25yvon4.jpg [图片2] http://oi45.tinypic.com/xmlqns.jpg
在第一张图片中,由于屏幕尺寸较大,一些空间在底部空置,而在第二张图片中,由于屏幕尺寸较小,最后一排按钮被隐藏。对于按钮,我使用的是表格布局。
有没有办法解决这个问题。
答案 0 :(得分:4)
这是一个需要首先进行空间理解的广泛主题。 这是一个很好的起点 - http://developer.android.com/guide/practices/screens_support.html
长话短说,总是使用点单位(dps),尽量避免代码中的硬编码像素,以相对方式定位项目(即:相对于其他对象 - RelativeLayout,LinearLayout等)并确保利用“值-...”文件夹的强大功能。 实施例
values-xhdpi(XH) p>
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
或
您可以使用重量或布局重量来防止出现此问题。