0

ユーザーがギャラリーを介してページをドラッグして新聞を読むことができるアプリケーションを実装しています。

アプリケーションにロードされたいくつかのビットマップで 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 に作成するために作成されましたが、同じ動作が発生します。

4

1 に答える 1

1

ギャラリーでunselectedAlphaプロパティを指定する必要があります。

あなたのJavaを介して(あなたの例のように)

view.setUnselectedAlpha(1.0);

xmlを使用してギャラリーを宣言している場合は、次のように追加します。

android:unselectedAlpha="1.0"
于 2011-08-16T22:52:46.140 に答える