更改视图的不透明度/透明度并也影响子视图

时间:2018-06-28 18:57:49

标签: android android-layout opacity android-relativelayout

我的子级TextView相对布局。
父级RelativeLayout的背景是白色,我想知道如何通过编程方式更改Alpha值来更改整个视图(包括子视图)的不透明度。
我正在尝试:

getBackground().setAlpha(0.4);  

但是,这需要一个int而不是一个float。 如果我这样做:

getBackground().setAlpha((int)(0.4 * 255));  

后者会改变视图,但会使其比我想要的更暗。孩子们似乎也没有改变。它似乎只影响背景,而我想要使所有东西都“变灰” /不透明的东西。
我在做什么错了?

2 个答案:

答案 0 :(得分:2)

您是否尝试过在布局文件中使用android:background="#88000000"。您可以根据需要更改Alpha和颜色值。

答案 1 :(得分:2)

那是因为您要更改布局的背景,而不是布局本身。因此,请使用myRelativeLayout.getBackground().setAlpha()代替myRelativeLayout.setAlpha(0.4f)