28

私はこの質問を見つけましたが、ほとんど同じ問題を抱えています。相対的なレイアウトにのみアルファを適用し、その子には適用しないようにするにはどうすればよいですか? 誰でも助けてもらえますか?

余白があり、角が丸く、アルファ値が 0.3 の長方形の LinearLayout があります。このレイアウト内には、異なる画像を異なる位置に表示するため、4 つの異なるレイアウトがあります。私の問題は、プライマリ レイアウトは 0.3 ですが、子供を完全に表示したい、または親アルファの影響を受けないようにしたいのですが、どうすればそれを行うことができるのでしょうか? 子レイアウトで alpha=1 を設定しようとしましたが、うまくいきませんでした。ただし、0に設定すると、子のレイアウトが消えてしまうため、0.3未満に減らすことはできますが、親の上には何も減らすことができないようです。それはバグですか、それとも間違っていますか?ありがとうございました。

4

1 に答える 1

36

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>
于 2013-03-14T01:28:02.560 に答える