[英]Image in ImageView is stretched - Android
我想在屏幕上显示一个小图像。 我希望它是一个小广场。 使用下面的代码,它显示为一个长扁平矩形。 我附上了下面的图片。
java代码
ImageView q1Image = (ImageView)findViewById(R.id.q1Image);
q1Image.setScaleType(ScaleType.FIT_XY);
xml代码
<TableRow
android:id="@+id/row4"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1" >
<ImageView
android:id="@+id/q1Image"
android:layout_width="10dp"
android:layout_height="10dp"
android:layout_weight=".1"
android:textSize="8sp"
android:gravity="center_horizontal" />
编辑如果我将宽度和高度分别设置为50dp
,图像会变大但仍然是一个看起来很扁平的矩形。
您缩放图像是错误的。 以下是所有尺度类型:
顶行(lr)中心,centerCrop,centerInside。
底行(lr):fitCenter,fitStart,fitEnd,fitXY。
你可能需要fitCenter
:
q1Image.setScaleType(ScaleType.FIT_CENTER);
FIT_XY将拉伸您的图像以适合所有的ImageView。 如果使用ImageView,请使用缩放类型fitCenter通过将图像置于中心来保留纵横比
q1Image.setScaleType(ScaleType.FIT_CENTER);
有关其他选项,请参阅http://developer.android.com/reference/android/widget/ImageView.ScaleType.html 。
如果没有完整的布局XML,这只是猜测,但看到你似乎没有通过改变比例类型来解决问题,这里有一些其他的建议:
如果ImageView
的layout_weight
为零,那会不会更好?
你在TableLayout
上指定android:stretchColumns
吗?
图像看起来像是被拉伸以匹配下面文本的宽度。 你的桌子里有几列? 看起来其他行中的文本在第0列(与第一行中的图像一样),第一行中的文本在第1列中。如果要将列0留空其他行,则需要在文本视图上指定android:layout_column
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.