私はこの質問を見つけましたが、ほぼ同じ問題があります。相対レイアウトにのみアルファを適用し、その子には適用しない方法を教えてください。誰か助けてもらえますか?
長方形のLinearLayoutがあり、マージンがあり、角が丸く、アルファ値が0.3です。このレイアウトの内部には、異なる位置に異なる画像を表示するため、4つの異なるレイアウトがあります。私の問題は、プライマリレイアウトは0.3ですが、子供が完全に見えるようにしたい、または親アルファの影響を受けないようにしたいということです。どうすればそれをどうすればよいのでしょうか。子レイアウトにalpha = 1を設定しようとしましたが、機能しませんでした。これを0に設定すると、子のレイアウトは表示されなくなります。したがって、0.3未満に減らすことはできますが、親より上には何もできません。それはバグですか、それとも間違っていますか?ありがとうございました。
親のalpha
を設定する代わりに、FrameLayout
を使用して背景画像を最初に設定し、その子のalpha
を設定できます。例えば
これを使う代わりに
<LinearLayout
Android:background="@drawable/background"
Android:alpha="0.3" >
<LinearLayout>
<Button />
<Button />
</LinearLayout>
</LinearLayout >
これを使う
<FrameLayout>
<ImageView
Android:background="@drawable/background"
Android:alpha="0.3" />
<LinearLayout>
<Button />
<Button />
</LinearLayout>
</FrameLayout>