3

我有一个画廊,里面有位图。这是代码:

    // Bitmap snoop = BitmapFactory.decodeResource(mContext.getResources(), mImageIds[position]);
   // i.setImageResource(mImageIds[position]);
   // i.setScaleType(ImageView.ScaleType.FIT_XY);
        BitmapFactory.Options options = new BitmapFactory.Options();

        // will results in a much smaller image than the original
        Bitmap b = BitmapFactory.decodeFile("/sdcard/DinEgen/"+name.get(position), options);
        Bitmap img = Bitmap.createScaledBitmap( b, width, height, true );
         b.recycle();
    i.setImageBitmap(img);
    //i.setBackgroundResource(mGalleryItemBackground);
    i.setGallery(g);
    i.setLayoutParams(new Gallery.LayoutParams(width, height));

    return i;

当我启动应用程序时,一切看起来都很好。就像图片上的: 在此处输入图像描述

当我转到下一页时,一切看起来都很糟糕: 在此处输入图像描述

颜色较浅,左侧有点像边缘,颜色很好。当我背面颜色也更浅并且这个边缘在右侧时。我在画廊里用过

android:fadingEdge="none" android:fadingEdgeLength="0px"

但仍然无法正常工作。知道为什么颜色会发生变化以及为什么当我转到下一页时会看到这个边缘吗?任何想法为什么会发生这种情况?

Edit1:我解决了一个边距问题。我在宽度中添加了 30: i.setLayoutParams(new Gallery.LayoutParams(width+30, height))但转到下一页后颜色仍然较浅。知道为什么吗?

4

1 回答 1

3

尝试以下方法来停止图像重叠,从而消除您的问题:

Gallery gallery= (Gallery)findViewById(R.id.gallery);
gallery.setHorizontalFadingEdgeEnabled(false);
于 2012-10-02T23:36:48.463 回答