android设置Activity背景色为透明的3种方

时间:2021-10-08 22:50:28

方法一:这种方法比较简单,只有一个步骤,只需要在配置文件中把需要设置为透明的activity的样式设置为

Android:theme="@android:style/Theme.Translucent"

即可,这种方式只改变背景的颜色,对其他控件没有影响。但是它只能把背景设置为完全透明。如果要设置为半透明或者要设置透明的程度无法实现。

方法二:这种方法也比较简单,只需要在方法一的基础上,再布局文件中配置背景颜色就可以

  1. android:background="#01000000"

“ #01000000”中“01”表示的是背景透明的程度,这个值只能设置01及以上的值,不能设置为00,及不能设置为完全透明,不过设置为01其实和透明的效果也很接近了,肉眼几乎看不出来区别了。这种方法同样对其他控件没有影响。

方法三:这种方法稍微复杂些,有几个步骤,这种方法对其他控件的透明度也会产生影响,并且可以自己设置透明的程度,相对来说要灵活一些。

第一步,在res/values下建立colors.xml文件,设置一个背景颜色,在这里可以设置你背景的颜色和透明度。

添加上自定义的颜色

  1. <color name="transparent">#55ff</color>

第二步,在res/values/下建styles.xml,设置程序的风格

  1. <style name="Transparent">
  2. <item name="android:windowBackground">@color/transparent</item>
  3. <item name="android:windowIsTranslucent">true</item>
  4. <item name="android:windowAnimationStyle">@+android:style/Animation.Translucent</item>
  5. </style>

第三步,把这个styles.xml用在相应的Activity上。即在AndroidManifest.xml中的任意<activity>标签中添加

  1. android:theme="@style/Transparent"
  2. 如果想设置所有的activity都使用这个风格,可以把这句标签语句添加在<application>中。
  3. 这个方法不仅对背景透明有效,而且对其他控件也有效,如果其他控件没有设置背景颜色,会呈现出透明的效果。这种方法比较复杂些,如果不是需要对整个页面及控件都有透明度要求,建议使用前面2中方法。

代码下载:点击下载