Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 线性布局';ListView中的宽度超出屏幕宽度_Android_Android Listview_Universal Image Loader - Fatal编程技术网

Android 线性布局';ListView中的宽度超出屏幕宽度

Android 线性布局';ListView中的宽度超出屏幕宽度,android,android-listview,universal-image-loader,Android,Android Listview,Universal Image Loader,我遇到了一个似乎无法解决的问题。我有很多图片,我想用两种不同的格式向用户展示,一种是“列表”,显示整个屏幕宽度的图片,另一种是“网格”,显示一个网格,其中一行有3张图片。为了做到这一点,我有一个附加信息的标题,它将持续在“网格”和“列表”之间切换。我将所有这些都放在一个ListView中,并允许用户使用按钮(包含在ListView的标题中)进行切换,并简单地将适配器更改为放入ListView中。“列表”效果很好,但当我切换到“网格”时,似乎只有一个图像显示在右侧,并有一堆空间。GridLayou

我遇到了一个似乎无法解决的问题。我有很多图片,我想用两种不同的格式向用户展示,一种是“列表”,显示整个屏幕宽度的图片,另一种是“网格”,显示一个网格,其中一行有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>

我看到图像加载器以全屏宽度加载图片,但我认为android:weightSum=“3”和android:layout\u weight=“1”会处理较大的图片。对此有何想法?

只是猜测-从布局文件中的
ImageButton
声明中删除
android:adjustViewBounds
属性。或者将其设置为
“false”
。那么您的问题是什么?你能附上截图吗?
    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);