我遇到了一个我似乎无法解决的问题。我有许多图片,我想以两种不同的格式向用户展示,一种格式“列表”,显示跨越整个屏幕宽度的图片,另一种格式“网格”,显示一个网格,其中包含 3 张图片排。为此,我有一个附加信息的标题,它将持续在“网格”和“列表”之间切换。我把这一切都放在一个 ListView 中,并允许用户使用一个按钮(包含在 ListView 的标题中)进行切换,并简单地将适配器更改为放入 ListView。“列表”效果很好,但是当我切换到“网格”时,似乎只显示了一个图像,右侧有一堆空间。GridLayout 会更好,但鉴于要求,我没有 不明白为什么 ListView 对我不起作用。这是布局:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/event_detail_gridview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="3"
android:orientation="horizontal" >
<ImageButton
android:id="@+id/grid_image_1"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:scaleType="fitCenter"
android:adjustViewBounds="true"
android:padding="5dp"
android:background="@android:color/transparent"
android:onClick="showPictureDetail" />
<ImageButton
android:id="@+id/grid_image_2"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:scaleType="fitCenter"
android:adjustViewBounds="true"
android:padding="5dp"
android:background="@android:color/transparent"
android:onClick="showPictureDetail" />
<ImageButton
android:id="@+id/grid_image_3"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:scaleType="fitCenter"
android:adjustViewBounds="true"
android:padding="5dp"
android:background="@android:color/transparent"
android:onClick="showPictureDetail" />
</LinearLayout>
我正在使用通用图像加载器,如下所示
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context.getApplicationContext())
.threadPriority(Thread.NORM_PRIORITY - 2)
.memoryCache(new WeakMemoryCache())
.enableLogging()
.build();
imageLoader.init(config);
options = new DisplayImageOptions.Builder()
.showStubImage(R.drawable.placeholder)
.imageScaleType(ImageScaleType.IN_SAMPLE_INT)
.cacheInMemory()
.cacheOnDisc()
.displayer(new SimpleBitmapDisplayer())
.build();
imageLoader.displayImage(url, imageView, options);
我看到图像加载器以全屏宽度加载图片,但会认为 android:weightSum="3" 和 android:layout_weight="1" 会处理更大的图片。对此有什么想法吗?