【问题标题】:Remove spacing between images UIL删除图像 UIL 之间的间距
【发布时间】:2014-01-09 04:45:24
【问题描述】:

我正在尝试使用通用图像加载器和以下代码在水平滚动视图中膨胀多个图像视图

for (int i = 0; i < received_params.length; i++) { //received_params ARRAY CONTAING URLs
            final ImageView image = new ImageView(this);
            LinearLayout.LayoutParams params = null;
            params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT);
            image.setLayoutParams(params);

            imageLoader.displayImage(received_params[i], image, options);   
            scrnshts_ll.addView(image); //scrnshts_ll is the object of Linear Layout image_view_ll
        }

我的水平滚动视图是

 <HorizontalScrollView
android:id="@+id/image_view_hll"
android:layout_width="fill_parent"
android:layout_height="250dp"
android:background="@color/overlay_bg"
android:padding="5dp" >

<LinearLayout
android:id="@+id/image_view_ll"
android:layout_width="wrap_content"
android:layout_height="match_parent"
 android:orientation="horizontal" >
</LinearLayout>

现在我的问题可以在附图中清楚地看到,其中每张图片都有一个间距。 I want to remove gaps b/w images。怎么办。

【问题讨论】:

  • 我想请检查您将从服务器获取的图像。我认为这些图像中包含空间
  • 但是我现在无法打开你的链接。所以请把图片放到 postimg.org
  • @nitin 删除哪个间隙?小圆圈图片?
  • @dipali 图片之间有连续的间隙,如何去除。

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


【解决方案1】:
imageLoader.loadImage(received_params[i], new ImageLoadingListener() {

                @Override
                public void onLoadingStarted(String imageUri, View view) {

                }

                @Override
                public void onLoadingFailed(String imageUri, View view, FailReason failReason) {

                }

                @Override
                public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
                    int width = loadedImage.getWidth();
                    ImageView image = new ImageView(AppDetailsActivity.this);
                    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( (int)(width), LinearLayout.LayoutParams.MATCH_PARENT);
                    }

                    params.setMargins(10, 0, 10, 0);
                    image.setLayoutParams(params);
                    image.setScaleType(ScaleType.FIT_XY);
                    image.setImageBitmap(loadedImage);
                    scrnshts_ll.addView(image);
                }

                @Override
                public void onLoadingCancelled(String imageUri, View view) {

                }
            });

【讨论】:

    【解决方案2】:

    您是否尝试在图像上设置 scaletype?尝试使用 scaletype 作为 fitXY。还要确保将图像设置为 imageview 的源而不是背景图像。

    【讨论】:

    • 我已经试过了,FITXYFITCENTER,但图像跨度很大,看起来很奇怪。
    【解决方案3】:
    params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT);
    

    您可以尝试使用Image 的宽度而不是LayoutParams.WRAP_CONTENT

    【讨论】:

      【解决方案4】:

      尝试使用 RelativeLayout 而不是 LinearLayout。

      【讨论】: