1

解決できないような問題に直面しています。ユーザーに 2 つの異なる形式で表示したい画像が多数あります。1 つの形式は画面の幅全体にまたがる画像を表示する「リスト」形式で、もう 1 つの形式は 3 つの画像を含むグリッドを表示する「グリッド」形式です。行。これを行うために、「グリッド」と「リスト」の間の切り替えを維持する追加情報のヘッダーがあります。これをすべて ListView に入れ、ユーザーがボタン (ListView のヘッダーに含まれる) で切り替えることができるようにし、アダプターを変更して ListView に入れるようにしました。「リスト」はうまく機能しますが、「グリッド」に切り替えると、右側にたくさんのスペースがある画像が 1 つだけ表示されるように見えます。これには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" がより大きな画像を処理すると考えられます。これについて何か考えはありますか?

4

0 に答える 0