将alpha-transparency设置为仅适用于布局而不是其子项

时间:2013-03-13 17:56:07

标签: android android-layout alpha-transparency

我发现了这个问题并且我遇到了几乎相同的问题。我怎么能只将alpha应用于相对布局而不是它的孩子?有人可以帮忙吗?

  

我有一个矩形的LinearLayout,它有一些边距,一些圆角和一个0.3的alpha值。在这个布局中,我有4种不同的布局,因为我在不同的位置显示不同的图像。   我的问题是虽然主要布局是0.3,但我希望我的孩子完全可见,或者不受它的父母alpha影响,我想知道我怎么能请那样做呢?我尝试在子布局上设置alpha = 1,但它不起作用。将它设置为0确实会使子布局消失,所以看起来我可以减少到0.3以下,但不能超过父级。这是一个错误还是我做错了?   谢谢。

1 个答案:

答案 0 :(得分:30)

您可以先使用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>