如何防止Android Imageview中的缩放?

时间:2012-02-15 15:45:58

标签: android imageview scaling

我有一个480像素×40像素的图像。我想在ImageView中显示这个图像而不需要缩放以适应。

例如:如果我的屏幕只有320像素宽,我希望屏幕上只显示320像素的图像,而不是将其自身塞入ImageView(即使这意味着图像的其余部分被切断)。

有没有办法阻止缩放以适应?

编辑:另外,我希望图像的左侧与设备屏幕的左侧对齐。

由于

5 个答案:

答案 0 :(得分:27)

在XML中使用ScaleType.CENTER,如下所示:

android:scaleType="center"

这将“在视图中居中图像,但不执行缩放”

在此处阅读更多内容:http://developer.android.com/reference/android/widget/ImageView.ScaleType.html

(这是第一次点击谷歌搜索“imageview规模”)

答案 1 :(得分:12)

使用MATRIX scaletype将其设置为不缩放且无居中

除非使用setImageMatrix(matrix);

进行设置,否则它将使用单位矩阵
android:scaleType="matrix"

或者在Java中:

view.setScaleType(ImageView.ScaleType.MATRIX);

答案 2 :(得分:1)

试试这个:

                    android:adjustViewBounds="true"
                    android:scaleType="centerCrop"

答案 3 :(得分:0)

我有一个类似的问题,我有一个固定大小的图形,我想缩放到屏幕但保持比例为480 x 200。

我在高度上使用了Fill_parent,因此它会在宽度上缩放和wrap_content。 以及左对齐父母和父母对齐。

在你的情况下你可以在两者上使用wrap_content以及Align Parent Left。 然后我在普通屏幕上使用右边距180dp来调整宽度,以确保它保持宽度。

<ImageView
    android:id="@+id/imageLayer"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginRight="180dp"
    tools:ignore="ContentDescription" />

答案 4 :(得分:0)

如果

  

android:scaleType =“ center”

不起作用, 检查您如何设置图像。 您必须使用android:src,而不是android:backgorund

如此

IsMissing