1

由于我想在不提供特殊“高清”版本的情况下支持平板电脑和智能手机,因此我需要根据用户设备的分辨率来缩放图像。这是在三星 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" />

在此处输入图像描述

在我所有的设备上看起来都很棒,但可绘制对象与左侧对齐。有什么办法可以居中吗?

4

1 回答 1

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" />

将图像缩放到每个屏幕尺寸并且不会剪切任何东西。非常感谢你。

于 2012-11-08T21:30:31.980 回答