Android布局背景alpha

时间:2011-12-21 09:08:02

标签: android background

嗨我有一个用于填充页面的布局,我必须在该布局中设置drawable folder中保存的背景图像。

我想将图像的alpha value设置为非常低的值,几乎使图像成为水印。

我的xml看起来像

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/background"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@drawable/main_background" >

如您所见,我已为布局分配了一个ID

我认为在我的创造中我能做到这样的事情吗?

View backgroundimage = (View) findViewById(R.id.background);
backgroundimage.setAlpha(80);

这不起作用,但我怀疑它是因为我试图将背景强制转换为View我应该将其投射为什么?

4 个答案:

答案 0 :(得分:40)

尝试使用:

Drawable.setAlpha();

你应该这样做:

View backgroundImage = findViewById(R.id.background);
Drawable background = backgroundImage.getBackground();
background.setAlpha(80);

答案 1 :(得分:35)

如果你想在xml中设置alpha,那么你可以试试这个:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/background"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#CC000000" >
  

前2位用于设置alpha这里alpha是80%接下来的6位数   用于颜色代码

因此,alpha以十六进制编码设置。 FF = 100%且00 = 0%,因此80%不是十六进制的80,对于更多标准值,请参阅this post。

答案 2 :(得分:2)

在LinearLayout上使用此功能

  

机器人:背景=&#34;#92000000&#34;

答案 3 :(得分:1)

你可以为Drawables设置Alpha而不是视图!你可以把背景作为一个可绘制的,并且这样做:

View backgroundimage = (View) findViewById(R.id.background);
backgroundimage.getBackground().setAlpha(80);