中心可绘制和刻度高度

时间:2012-11-08 21:16:16

标签: android imageview scale android-view

由于我想在不提供特殊“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" />

enter image description here

但它会切断nexus 7上的图像。 enter image description here

当我将宽度和高度更改为:

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

不幸的是,这会将图像缩小到视图之外: enter image description here

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

enter image description here

在我的所有设备上看起来都很棒,但是drawable与左边对齐。 有没有办法让它居中呢?

1 个答案:

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

将图像缩放到每个屏幕尺寸,不会剪切任何内容。非常感谢你。