0

所以我的问题很简单——我想使用 XML 布局来精确控制小部件在多个设备上的定位。为此,我彻底阅读了有关支持多种设备的谷歌文档。根据部分,WVGA854 和 HVGA 都被认为是“普通屏幕”尺寸。所以理论上,在 WVGA854 上放置一个小部件应该看起来与 HVGA 相同。但是,生成的屏幕截图显示不同。在此处输入图像描述

小部件在 WVGA854 皮肤上显得相对较高。XML 代码如下所示,位于 layout-normal/ 文件夹下:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ImageButton
        android:id="@+id/button1"
        android:src="@drawable/icon_unlock"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="300dp"
        android:text="Button" />

</RelativeLayout>

我构建的绘图具有适当的比例(建议为 3:4:6:8 )。那么为什么会发生这种定位不匹配呢?我开始认为使用 XML 来定位事物是毫无结果的。我的应用程序需要非常准确的小部件定位,所以即使这种轻微的不匹配也是一个问题。有什么帮助我可以解决这个问题吗?

编辑: 我想要的是小部件的放置方式使得从顶部到底部的边距的比率在设备之间完全相同。从截图可以看出,这个比例对于WQVGA854和HVGA是不一样的。

4

1 回答 1

0

“正常屏幕”尺寸并不意味着屏幕具有完全相同的倾角。您需要将其视为一个存储桶,其中包含许多不同的屏幕尺寸,它们的物理尺寸都相似。

所以使用固定大小的边距和填充不会(很容易)达到你需要的效果。因此,请澄清您的问题,并举例说明您到底想要实现什么。

于 2012-04-10T11:51:19.397 回答