适用于所有屏幕的XML

时间:2011-11-12 07:15:01

标签: android xml

我有一个布局,有8个按钮,2个图像视图和2个文本视图。在我的设备(Galaxy S)上它适合但是在屏幕较小的设备上,底部没有出现。我如何调整所有屏幕的布局?

4 个答案:

答案 0 :(得分:1)

将RelativeLayouts或LinearLayouts与layout_weight属性一起使用。如果您可以发布一些xml,我会给你更多的建议。

问题一般发生在ImageViews上,因为它们在较小的屏幕上占据更多的空间,因为较小的屏幕每英寸的像素数较少。通常的做法是在dp中限制大小。

答案 1 :(得分:1)

您可以定义更多不同宽度和高度的布局。然后检查设备的高度和宽度以及密度,并使用该设备的特定布局。

答案 2 :(得分:1)

使用屏幕相关像素dp和sp。针对不同的屏幕尺寸设计不同的布局。 http://developer.android.com/guide/practices/screens_support.html< - 请参阅此处

对于大多数宽度和有时高度问题,您可以使用layout_weight为每个视图分配确切的比例。

如果没有其他选择并且您的布局必须采用这种方式,您可能需要考虑使用ScrollView来包装父布局,以便它们可以滚动。 http://developer.android.com/reference/android/widget/ScrollView.html< - 请参阅此处。

祝你好运。

答案 3 :(得分:1)

如果您希望自己的应用支持各种屏幕尺寸, 您需要为每种屏幕类型创建不同的布局xml文件。 将上述每一个放在资源文件夹中:

res/layout/my_layout.xml             // layout for normal screen size ("default")
res/layout-small/my_layout.xml       // layout for small screen size
res/layout-large/my_layout.xml       // layout for large screen size
res/layout-xlarge/my_layout.xml      // layout for extra large screen size

在运行时 - android会根据设备的屏幕类型自动选择合适的资源

你可以在上面阅读更多相关信息 - http://developer.android.com/guide/practices/screens_support.html