我正在实现一个应用程序,该应用程序允许用户通过画廊拖动页面来阅读报纸。
我写了一个适配器,它返回 ImageViews 并在应用程序上加载了一些位图。
我的问题是,第一张图像显示完美,下一张图像的前景为灰色,使图像看起来更暗。拖到某个地方后,第一个也得到了这个前景。我怎样才能避免我的观点得到这个前景?
现在我意识到 ImageViews 在 alpha 通道上获得了一些价值,这就是为什么与我的黑色背景一起图像看起来更暗的原因。我怎样才能避免它?
根据请求,这是我的代码:
Gallery view = new Gallery(context);
view.setSpacing(10);
view.setAdapter(new PageAdapter(context, pages));
LayoutParams params = new LayoutParams(600, 300);
layout.addView(view, params);
和页面适配器
私有类 PageAdapter 扩展 ArrayAdapter { 私有列表页面;
public PageAdapter(Context c, List<Page> pages) {
super(c, 0);
this.pages = pages;
}
public View getView(int position, View convertView, ViewGroup parent) {
Page page = getItem(position);
ImageView image;
if (convertView != null)
image = (ImageView) convertView;
else
image = new ImageView(context);
image.setImageBitmap(ImageUtils.rgb(page.loadNormal()));
return image;
}
public int getCount() {
return pages.size();
}
public Page getItem(int position) {
return pages.get(position);
}
}
创建此 ImageUtils.rgb 是为了将任何位图的副本创建到 Bitmap.RGB_586 中,但会发生相同的行为。