画廊项目重叠(出血)

12
我的问题是,当我开始向下滚动到下一张图片时,我的相册中的图片会互相渗透。我正在使用一个连接到自定义适配器(我从BaseAdapter扩展)的android.widget.Gallery。适配器的GetView()方法如下:
public View getView(int position, View convertView, ViewGroup parent) {
            ImageView i = new ImageView(mContext);
            if (mImageBitmap != null && position < mImageBitmap.length)
             i.setImageBitmap(mImageBitmap[position]);
            return i;

alt text


为什么你要手动设置图像位图,而不是让适配器来处理它呢? - Cheryl Simon
4个回答

29

你尝试过在 Gallery 中使用 android:spacing(在xml中)或 setSpacing(int spacing)(在代码中)吗?


这对我起了作用。当我开始从xml中膨胀项目时,画廊项目的重叠开始了。现在问题解决了 - 谢谢! - Vanja
2
也适用于我:setSpacing(0) - ToddH
完成了,别忘了设置单位:setSpacing(0dp) - Pelanes

9

我实际上已经找到了解决方法。在getView()中,我返回的ImageView没有背景,因此ImageView会重叠。在返回之前,我将ImageView的背景设置为黑色,现在看起来很好。


3

看起来淡入淡出效果是自动添加的,无法通过XML禁用。

但是,程序控制禁用似乎是有效的:

Gallery carousel = (Gallery)findViewById(R.id.image_carousel); carousel.setHorizontalFadingEdgeEnabled(false);


0
如果您可以访问画廊实例,您还可以调用以下方法来移除出血区域:
gallery.setUnselectedAlpha(1.0f);

这也可以消除画廊视图的白色模糊感。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接