我正在尝试在图像视图实例上应用图像...但它没有正确覆盖它... 请指教
这是我的图片查看代码:
android:id="@+id/imageViewVessel"
android:layout_width="fill_parent"
android:scaleType="fitStart"
android:layout_height="170dip"
android:src="@drawable/vessel"
由kcoppock编辑:从devaditya的评论中添加代码
TableRow rowImage = new TableRow(this);
rowImage.setBackgroundColor(Color.GRAY);
rowImage.setMinimumHeight(150);
rowImage.setGravity(Gravity.CENTER);
rowImage.setMinimumWidth(LayoutParams.FILL_PARENT);
ImageView imgViewVessel=new ImageView(this);
imgViewVessel.setImageResource(R.drawable.vessel);
imgViewVessel.setMinimumHeight(150);
imgViewVessel.setMinimumWidth(LayoutParams.FILL_PARENT);
imgViewVessel.setScaleType(ScaleType.FIT_XY);
rowImage.addView(imgViewVessel);
答案 0 :(得分:7)
要扩展Gao的答案,您需要为ImageView设置scaleType,但fitXY不太可能是您正在寻找的scaleType。您可以在上面的链接中找到完整列表,但最常见的是:
centerCrop
:这将保持图像的纵横比,完全填充框架,但是如果框架的纵横比和框架的纵横比是左右,还是顶部和底部裁剪源图像不同。
centerInside
:这也保持宽高比,但图像会缩放以完全适合视图,因此最长边与帧的大小相同。如果帧和源图像的宽高比不同,这可以为您提供信箱类型的效果。 fitStart
和fitEnd
是相同的缩放方法,但它们具有不同的图像位置(分别是左上角和右下角)。
fitXY
:只有在不成比例的缩放不影响图形时才应使用此选项。在位图图形的情况下,这几乎总是不好用。这会将源图像的宽度设置为视图的宽度,将源图像的高度设置为视图的高度,而不保持源图像的宽高比。
答案 1 :(得分:1)
您可以在布局文件中设置比例类型:android:scaleType =“fitXY”或使用fitXY调用setScaleType。