我正在使用 gridview 来显示 2 列图像列表。
我正在使用通用图像加载器从数据库中获取图像,效果很好,但是一旦图像被加载,并且“加载图像”占位符被替换,尺寸就会缩小到图像的实际尺寸,并且不会正确填充单元格。
占位符图像已正确放大,以填充可用宽度并包裹高度。所有图像的尺寸相同,需要放大或缩小,具体取决于屏幕尺寸。
这是列表项布局(更新,我也有一个文本视图,我认为这无关紧要,但谁知道..):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/grid_gallery_item_imageView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:src="@drawable/loading_image" />
<TextView
android:id="@+id/grid_gallery_item_textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/grid_gallery_item_imageView1"
android:background="#50000000"
android:ellipsize="end"
android:gravity="center_vertical"
android:maxLines="3"
android:padding="8dp"
android:text="Bacon ipsum."
android:textColor="#ffffff"
android:textSize="20sp" />
</RelativeLayout>
这是我的网格视图:
<GridView
android:id="@+id/grid_gallery_layout_gridView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:numColumns="2"
android:stretchMode="columnWidth">
在我的 gridview 适配器中,我只是使用它来加载图像:
imageLoader.displayImage("db://" + item.imageId, holder.imageView, options);
选项:
options = new DisplayImageOptions.Builder().bitmapConfig(Bitmap.Config.RGB_565).showStubImage(R.drawable.loading_image)
.displayer(new FadeInBitmapDisplayer(Constants.GRIDVIEW_IMAGE_FADEIN_TIME)).build();
这是问题的屏幕截图:
加载的图像应与占位符图像大小相同。
任何想法,为什么加载图像可能会破坏图像视图的大小?
编辑:缩小实际上工作正常,这是搞砸的放大。例如,在较小的屏幕上,图像大小正确。