Android设置控件的透明度

/ Android / 没有评论 / 2105浏览

设置控件如View,Button等的透明度,有这么几种方法。

比如这里设置按钮button1的透明度。

  1. 可以在后台的Activity中进行设置。在这里设置button1为半透明,则加上button1.getBackground().setAlpha(128)。setAlpha()的括号中可以填0--255之间的数字。数字越大,越不透明。但是这么做的话,不能即时的看到预览,因此无法很好地确定透明度。以下的方法均可以看到设置后的效果,因此可以通过看到的预览来调整透明度。

  2. 还可以在布局中进行设置,设置控件的anroid:alpha属性。在这里设置button1为半透明,代码如下:

<Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="确定"
                android:id="@+id/button1"
                android:alpha="0.5"
                />

android:alpha的值为0~1之间的数。数字越大,越不透明。1表示完全不透明,0表示完全透明。

  1. 以上的两种方法都是从API 11才有的。换句话说,API 11之前是不能用以上的方法的。但可以通过在布局中设置android:background,来设置透明度。android:background的值的格式为"#AARRGGBB"。AA即透明度,R、G、B是红绿蓝三色。每一位均为0--F的十六位数。其中透明度的数值越大,越不透明。因此这里如果想设置透明度为50%的白色的话,可以这么设置,代码如下:
<Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="确定"
                android:id="@+id/button1"
                android:background="#80ffffff"
                />

是这样控件会变形,会被拉伸。解决办法为在后台代码中显式地设置控件的宽度和高度等。如果只是设置控件的透明度的话,不推荐这种方法。