2010-12-17 59 views
0

我想上的图像视图实例应用图像...但它不覆盖它正确...... 请指教图片犯规封面图片视图完全

这里是我的图像视图代码:

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

没有代码:) – Jonas 2010-12-17 07:00:30

+0

你能发布你的xml文件吗? – Sandy 2010-12-17 07:18:11

回答

1

添加代码,您可以设置在布局文件中规模类型:Android:SCA leType =“fitXY”或用fitXY调用setScaleType。

6

要扩大Gao的答案,您需要为ImageView设置scaleType,但fitXY不太可能是您正在查找的scaleType。您可以在上面的链接的完整列表,但也有一些最常见的是:

  • centerCrop:这将保持图像的长宽比,完全填补了框架,但裁剪掉要么左以及如果帧和源图像的高宽比不同,则右侧或顶部和底部。

  • centerInside:这也保持纵横比,但图像缩放到完全适合视图内,以便最长的边与帧大小相同。如果帧和源图像的高宽比不同,这可以给你一个信箱类型的效果。 fitStartfitEnd是相同的缩放方法,但它们具有不同的图像位置(分别为左上角和右下角)。

  • fitXY:只有在不成比例的缩放不会影响图形的情况下才能使用此项。在位图图形的情况下,这几乎总是使用不好。这会将源图像的宽度设置为视图的宽度,并将源图像的高度设置为视图的高度,而不会保持源图像的高宽比。

+1

请注意,'centerInside'只能缩小,永远不会上升。 – ohhorob 2010-12-21 00:37:32

+0

Coppock良好的建议...我尝试了所有这些,但我无法根据基地调整宽度...有没有人做过类似的事情? – devaditya 2010-12-21 05:04:01

+0

@ohhorob:真的吗?很高兴知道,我其实并不知道。 @devaditya:你究竟想要做什么,这些都无法完成?我真的不明白。 – kcoppock 2010-12-21 06:51:29