Я реализую приложение, которое позволяет пользователю перетаскивать страницы через Галерею, чтобы читать газету.
Я написал Адаптер, который возвращает ImageViews с некоторыми битовыми картами, загруженными в приложение.
Моя проблема в том, что первое изображение отлично видно, у следующих серый фон, что делает изображение более темным. После перетаскивания куда-нибудь первый также получает этот передний план. Как я могу избежать моих взглядов, получающих этот передний план?
Теперь я понял, что ImageViews получают определенную ценность на альфа-канале, поэтому вместе с моим черным фоном изображения выглядят темнее. Как я могу избежать этого?
Как и требовалось, вот мой код:
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, но происходит то же поведение.