我已经阅读了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>
也许我应该为每种屏幕类型做一个不同的密度图像?
答案 0 :(得分:0)
RelativeLayout没有方向标记,因此请将其删除。
由于您在所有可绘制类型上放置相同的图像,因此图像将具有固定的像素大小,这将随着屏幕密度的增加而减小屏幕上图像的大小。但是你在布局上使用dp作为单位,因此随着密度的增加,128dp的尺寸会增加,使得屏幕上的尺寸在不同的设备上显得相同。
因此,如果您想在屏幕上使用相同大小的相同布局而不考虑屏幕密度,请删除图像的其他副本并只留下一个可绘制文件夹,并且android将在不同屏幕密度的手机上处理缩放。