由于我想在不提供特殊“HD”版本的情况下支持平板电脑和智能手机,我需要根据用户设备的分辨率来缩放我的图像。这是在三星Galaxy Nexus上看起来不错的ImageView源:
<ImageView
android:id="@+id/character"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:background="@android:color/transparent"
android:scaleType="centerCrop"
android:src="@drawable/ma_un1_001" />
但它会切断nexus 7上的图像。
当我将宽度和高度更改为:
<ImageView
android:id="@+id/character"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentBottom="true"
android:background="@android:color/transparent"
android:scaleType="centerCrop"
android:src="@drawable/ma_un1_001" />
不幸的是,这会将图像缩小到视图之外:
将xml更改为
android:layout_width="wrap_content"
android:layout_height="fill_parent"
仍会剪切图像。
所以我将scaleType更改为FIT_START
<ImageView
android:id="@+id/character"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentBottom="true"
android:background="@android:color/transparent"
android:scaleType="fitStart"
android:src="@drawable/ma_un1_001" />
在我的所有设备上看起来都很棒,但是drawable与左边对齐。 有没有办法让它居中呢?
答案 0 :(得分:0)
感谢文辉,我找到了解决方案。
<ImageView
android:id="@+id/character"
**android:layout_width="fill_parent"
android:layout_height="fill_parent"**
android:layout_alignParentBottom="true"
android:background="@android:color/transparent"
**android:scaleType="fitCenter"**
android:src="@drawable/ma_un1_001" />
将图像缩放到每个屏幕尺寸,不会剪切任何内容。非常感谢你。