我有一个有位图的画廊.这是代码:
// 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)),但是转到下一页后,颜色仍然较浅.知道为什么吗?
解决方法:
请尝试以下操作以停止图像重叠,从而消除问题:
Gallery gallery= (Gallery)findViewById(R.id.gallery);
gallery.setHorizontalFadingEdgeEnabled(false);