2

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

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

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

有什么办法可以解决这个问题。

4

3 回答 3

4

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

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

值-xhdpi (XH)

值-hdpi (H)

值-mdpi (M)

价值观-土地(景观)

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

……

于 2013-03-24T09:27:49.403 回答
2

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

对于小于 4" 屏幕的小型手机 (qvga) 以及较旧的设备 (wvga),制作自定义布局文件(在布局文件夹中)并在检测到这些类型的设备时在您的 java 代码中动态引用它们。同样,尽可能多地在这些较旧和较小的手机上进行测试。从 Sony Device Loaner Program 借用一些手机,以便完成真实世界的测试。

最后,如果您想在较小的屏幕上进行垂直滚动,请使用 ScrollView 嵌入您的布局。不要疯狂地尝试将所有内容都放在较小的屏幕上。有时滚动是您的用户会理解的自然解决方案。

于 2013-03-24T13:40:55.300 回答
0

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

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

或者

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

于 2013-03-24T09:26:30.187 回答