在不同的屏幕设备上修改小部件距离

时间:2014-01-29 11:47:11

标签: android android-layout

我已经阅读了android支持多屏幕教程。 当我试图看到我的布局如何适应不同的屏幕时,出了点问题。在我的情况下,我只有一张图像(970x174)用于测试复制到所有drawable文件夹。 通过在不同的屏幕上看我的布局,在大多数情况下,布局不是我想的。我粘贴了我的布局代码(它非常适合nexus 4屏幕)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

<ImageView
    android:id="@+id/TEMPORARY"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_marginBottom="128dp"
    android:src="@drawable/button" />

<ImageView
    android:id="@+id/image2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_marginBottom="64dp"
    android:src="@drawable/button" />


<ImageView
    android:id="@+id/image3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:src="@drawable/button" />
</RelativeLayout>

也许我应该为每种屏幕类型做一个不同的密度图像?

1 个答案:

答案 0 :(得分:0)

RelativeLayout没有方向标记,因此请将其删除。

由于您在所有可绘制类型上放置相同的图像,因此图像将具有固定的像素大小,这将随着屏幕密度的增加而减小屏幕上图像的大小。但是你在布局上使用dp作为单位,因此随着密度的增加,128dp的尺寸会增加,使得屏幕上的尺寸在不同的设备上显得相同。

因此,如果您想在屏幕上使用相同大小的相同布局而不考虑屏幕密度,请删除图像的其他副本并只留下一个可绘制文件夹,并且android将在不同屏幕密度的手机上处理缩放。