28

我发现了这个问题,我也遇到了几乎同样的问题。我如何将 alpha 仅应用于相对布局而不应用于其子布局?有人可以帮忙吗?

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

4

1 回答 1

36

您可以先使用并设置背景图像并设置该孩子的,而不是设置alpha父级的。例如FrameLayoutalpha

而不是使用这个

<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 回答