我定义了这个布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/ivSmartphone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:src="@drawable/intro_smartphone_data" />
<ImageView
android:id="@+id/ivData1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@id/ivSmartphone"
android:layout_centerHorizontal="true"
android:layout_marginTop="90dp"
android:src="@drawable/intro_data_1" />
<ImageView
android:id="@+id/ivData2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/ivData1"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:src="@drawable/intro_data_2" />
<ImageView
android:id="@+id/ivData3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/ivData2"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:src="@drawable/intro_data_3" />
<ImageView
android:id="@+id/ivData4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/ivData3"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:src="@drawable/intro_data_4" />
</RelativeLayout>
根据android studio预览窗口,它应该看起来像这个:
在Nexus5X上,它看起来就像这样,但是在Nexus5上我得到了
我认为Nexus5X和Nexus5具有相同的密度并取the images from the same xxhdpi directory?那么缺少什么?
提前致谢。
答案 0 :(得分:0)
Nexus 5的尺寸为360x640dp,而Nexus 5X的尺寸为411x731dp,密度相同。
所以当你定义像这样的布局时
<ImageView
android:id="@+id/ivSmartphone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:src="@drawable/intro_smartphone_data" />
您在不缩放的情况下为每个屏幕宽度使用相同的图像。相反,您需要确保将图像适合屏幕宽度。
<ImageView
android:id="@+id/ivSmartphone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:scaleType="fitCentered"
android:src="@drawable/intro_smartphone_data" />
fitCentered
也可能会升级图片。如果您考虑使用更大的间距,请考虑使用centerInside
。