所以我的问题很简单 - 我想使用XML布局来精确控制小部件在多个设备上的定位。为此,我彻底阅读了支持多个设备的Google docs。根据{{3}}部分,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>
我构建的drawables是适当的比例(3:4:6:8为this)。那么为什么这种定位不匹配发生呢?我开始认为使用XML来定位事物是徒劳的。我的应用程序需要非常准确的小部件定位,所以即使这种轻微的不匹配也是一个问题。有什么帮助我可以解决这个问题吗?
修改 我想要的是小部件的放置方式使得从顶部到底部边缘的边距与设备之间的边距完全相同。从屏幕截图中可以看出,WQVGA854和HVGA的比例不同。
答案 0 :(得分:0)
“正常屏幕”大小并不意味着屏幕具有完全相同的下降次数。您需要将其视为包含许多不同屏幕尺寸的存储桶,这些尺寸在物理尺寸上都相似。
所以使用固定大小的边距和填充不会(轻松)达到你需要的效果。因此,请澄清您的问题,并举例说明您想要实现的目标。