方法一:这种方法比较简单,只有一个步骤,只需要在配置文件中把需要设置为透明的activity的样式设置为
Android:theme="@android:style/Theme.Translucent"
即可,这种方式只改变背景的颜色,对其他控件没有影响。但是它只能把背景设置为完全透明。如果要设置为半透明或者要设置透明的程度无法实现。
方法二:这种方法也比较简单,只需要在方法一的基础上,再布局文件中配置背景颜色就可以
- android:background="#01000000"
“ #01000000”中“01”表示的是背景透明的程度,这个值只能设置01及以上的值,不能设置为00,及不能设置为完全透明,不过设置为01其实和透明的效果也很接近了,肉眼几乎看不出来区别了。这种方法同样对其他控件没有影响。
方法三:这种方法稍微复杂些,有几个步骤,这种方法对其他控件的透明度也会产生影响,并且可以自己设置透明的程度,相对来说要灵活一些。
第一步,在res/values下建立colors.xml文件,设置一个背景颜色,在这里可以设置你背景的颜色和透明度。
添加上自定义的颜色
- <color name="transparent">#55ff</color>
第二步,在res/values/下建styles.xml,设置程序的风格
- <style name="Transparent">
- <item name="android:windowBackground">@color/transparent</item>
- <item name="android:windowIsTranslucent">true</item>
- <item name="android:windowAnimationStyle">@+android:style/Animation.Translucent</item>
- </style>
第三步,把这个styles.xml用在相应的Activity上。即在AndroidManifest.xml中的任意<activity>标签中添加
- android:theme="@style/Transparent"
- 如果想设置所有的activity都使用这个风格,可以把这句标签语句添加在<application>中。
- 这个方法不仅对背景透明有效,而且对其他控件也有效,如果其他控件没有设置背景颜色,会呈现出透明的效果。这种方法比较复杂些,如果不是需要对整个页面及控件都有透明度要求,建议使用前面2中方法。
代码下载:点击下载