LayerListの不透明度を80にしたいので、次のように記述しました。
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android"
android:opacity="80">
しかし、私は得ます:
Error: Integer types not allowed (at 'opacity' with value '80')
不透明度を指定するにはどうすればよいですか?
LayerListの不透明度を80にしたいので、次のように記述しました。
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android"
android:opacity="80">
しかし、私は得ます:
Error: Integer types not allowed (at 'opacity' with value '80')
不透明度を指定するにはどうすればよいですか?
android:opacityは、layer-listで半透明|不透明|透明の値のみをサポートします。
ちなみにあなたの要件は何ですか?
更新-回答:不透明度/視認性を80%に設定するには、ビューに設定する必要があります
android:alpha="0.8"
半透明の効果、たとえば50%の不透明度を与えるには、次を使用します。
Drawable d = new ColorDrawable(Color.BLACK);
d.setAlpha(130);
mDialog.getWindow().setBackgroundDrawable(d);
'130'は、希望の不透明度を達成するために変更(0-255)できます。
<layer-list>
質問は、プログラムで画像全体ではなく、内の個々のアイテムの不透明度を設定することについて質問していると思います。
すでに色がわかっている場合は、16進数のRGBAコードを組み合わせて使用します。例:
<solid android:color="#80FF0000" />
色を赤(0xFF0000)に設定し、不透明度を0x80にします。
同じことが他のいくつかのアイテムにも当てはまります。例:脳卒中
<stroke android:color="#6000FF00" android:width="20dp" />
これにより、不透明度0x60の20dpの太い緑色のストロークが作成されます。
さらに、プログラムで実行したい場合、つまりドローアブル全体ではなく特定のアイテムのアルファを変更したい場合は、アイテムに新しいリソースID(android:id = "@ + id / ...")を使用してアクセスしますそれ 。しかし、私はこの部分をたまたま検証していません。