1. ホーム
  2. android

[解決済み] Androidです。線形グラデーションを背景に使用すると帯状に見える

2023-05-04 22:07:30

質問

ListViewに線形グラデーションを適用しようとしています。 これは、私のdrawable xmlのコンテンツです。

 <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient 
        android:startColor="#3A3C39" 
        android:endColor="#181818"
        android:angle="270"
     />
    <corners android:radius="0dp" />
</shape>

でListViewに適用しています。

android:background="@drawable/shape_background_grey"

動作はしますが、エミュレータ上と実機上では、非常にquot;banded"に見えます。

この"挙動を軽減する方法はありますか?

どのように解決するのですか?

ロマンガイが提案するように

listView.getBackground().setDither(true);

私の問題を解決してくれる

特に AMOLED や hdpi のデバイスでこれが十分でない場合は、これを試してみてください。

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