Androidのグラデーションが縞にならないようにする

スプラッシュ画面などで、グラデーションのかかった画像を一枚表示することがあります。

その際、グラデーションにマッハバンドと言われる縞が出ることがあり、グラデーションがきれいに見えない原因になります。

解決方法は簡単で、以下2ステップで解消できます。

1.スプラッシュのActivityでWindowのPixelFormatを指定する

    @Override
    public void onAttachedToWindow() {
        super.onAttachedToWindow();
        Window window = getWindow();
        window.setFormat(PixelFormat.RGBA_8888);
    }

2.画像を全解像度用に用意する

ldpi,mdpi,hdpi,xhdpiそれぞれに適切に拡大・縮小した画像を用意しておきます。これをやらないと、内部的に自動で拡大縮小されるので、その際にマッハバンドが発生します。


タグ:

新しく会社作りました!

コメントをどうぞ