ListView中的LinearLayout宽度超出了屏幕宽度

时间:2012-11-13 03:46:17

标签: android android-listview universal-image-loader

我遇到了一个我似乎无法修复的问题。我有一些图片,我想以两种不同的格式向用户显示,一种格式,“列表”,显示跨越整个屏幕宽度的图片和一种格式“网格”,显示一个网格,其中包含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”会处理更大的图片。有什么想法吗?

0 个答案:

没有答案