2013-03-13 14 views
17

私はこの質問を見つけましたが、ほとんど同じ問題があります。相対レイアウトにのみアルファを適用するにはどうすればよいのですか?誰でも助けてくれますか?アルファ透明度をレイアウトにのみ設定し、子供には設定しないでください

私はいくつかの余白、いくつかの丸いコーナー、および0.3のアルファ値を持つ矩形のLinearLayoutを持っています。このレイアウトの中には、4つの異なるレイアウトがあり、それぞれ異なる位置に異なる画像を表示します。 私の問題は、プライマリレイアウトは0.3ですが、私の子供が完全に見えるようにするか、それとも親のアルファの影響を受けないようにしたいのですが、どうしたらいいですか?私は子供のレイアウトにアルファ= 1を設定しようとしましたが、うまくいかなかった。 0に設定すると子供のレイアウトが消えてしまいますので、0.3より小さくすることはできますが、親の上のものは減らすことはできません。それはバグですか、私は間違ってやっていますか? ありがとうございます。代わりにあなたがFrameLayoutを使用し、第1の背景画像を設定し、その子のalphaを設定することができ、親のalphaを設定する

答えて

24

。例

代わりのこの

<LinearLayout 
     android:background="@drawable/background" 
     android:alpha="0.3" > 
    <LinearLayout> 
     <Button /> 
     <Button /> 
    </LinearLayout>  
</LinearLayout > 

使用を使用するために、この1つの

<FrameLayout> 
    <ImageView 
     android:background="@drawable/background" 
     android:alpha="0.3" /> 
    <LinearLayout> 
     <Button /> 
     <Button /> 
    </LinearLayout>  
</FrameLayout> 
+2

この回答は、XMLレベルでの最善の解決策です。 * "既にこの質問にリンクしています"という回答に*このアプローチは言及していません。ありがとう! – gnB