我有一个屏幕,用户可以在其中阅读文章(顶部有大照片。
它的一般结构是:
LinearLayout -> ScrollView -> LinearLayout -> ImageViews,TextViews...etc
我遇到问题的 ImageView 是顶部的大图像(在文章标题下方,但在文本上方:
<ImageView
android:id="@+id/article_photo"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/super_light_gray"
android:scaleType="centerCrop"
android:contentDescription="@string/articlePhoto"
android:cropToPadding="true"
android:layout_marginBottom="10dp"
android:padding="1dp"/>
问题是,照片出现了,但是被垂直裁剪了很多,所以即使是垂直方向的照片也显得非常瘦和宽。我认为“wrap_content”应该使它成为照片的全部高度......但我显然错了:)
我怎样才能让照片显示全宽(已经工作),但也全高?
我正在使用 UniversalImageLoader 加载图像:
if(lrgPhoto != null && !lrgPhoto.filepath.equals(""))
{
imageLoader.displayImage(
"http://img.mysite.com/processes/resize_android.php?image=" + lrgPhoto.filepath + "&size=640&quality=90",
imageView,
imgDisplayOptions
);
imageView.setVisibility(View.VISIBLE); //show photo
}
else
{
imageView.setVisibility(View.GONE); //hide photo
imageView.invalidate();
}
编辑:
如果我将“scaleType”更改为“fitXY”,则图像会显示正确的尺寸而不会被裁剪,但它不是全角的。有没有办法我可以同时拥有全角和不奇怪的裁剪?
看来“裁剪”是因为它使用图像的原始高度作为高度,但它正在放大图像以适应全宽......