ユーザーがギャラリーを介してページをドラッグして新聞を読むことができるアプリケーションを実装しています。
アプリケーションにロードされたいくつかのビットマップで 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 extends 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 のコピーを Bitmap.RGB_586 に作成するために作成されましたが、同じ動作が発生します。