我有一个480像素×40像素的图像。我想在ImageView中显示这个图像而不需要缩放以适应。
例如:如果我的屏幕只有320像素宽,我希望屏幕上只显示320像素的图像,而不是将其自身塞入ImageView(即使这意味着图像的其余部分被切断)。
有没有办法阻止缩放以适应?
编辑:另外,我希望图像的左侧与设备屏幕的左侧对齐。
由于
答案 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