我发现了这个问题并且我遇到了几乎相同的问题。我怎么能只将alpha应用于相对布局而不是它的孩子?有人可以帮忙吗?
我有一个矩形的LinearLayout,它有一些边距,一些圆角和一个0.3的alpha值。在这个布局中,我有4种不同的布局,因为我在不同的位置显示不同的图像。 我的问题是虽然主要布局是0.3,但我希望我的孩子完全可见,或者不受它的父母alpha影响,我想知道我怎么能请那样做呢?我尝试在子布局上设置alpha = 1,但它不起作用。将它设置为0确实会使子布局消失,所以看起来我可以减少到0.3以下,但不能超过父级。这是一个错误还是我做错了? 谢谢。
答案 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>