2013-03-13 73 views
17

我发现这个问题,我几乎有同样的问题。我如何才能将alpha仅应用于相对布局,而不适用于它的孩子?谁能帮忙?设置阿尔法透明度只布局,而不是它的孩子

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

回答

24

而不是设置可以使用FrameLayout和第一设置背景图片,并设置孩子的alpha父的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> 
+2

这个答案似乎从XML级别的最佳解决方案。回答*“已经在上面回答了这个问题链接”*不提这种方法。谢谢! – gnB 2017-03-02 01:04:28

相关问题