这篇文章是我转载的,转载的目的:
1.懒,懒的自己重新写一篇。
2.毕竟不是自己的文章,博主删帖的话,我就失去了一个宝藏。
注:我在原文博主的基础上略做了修改,避免一些坑。
坑的地方:见附加部分
小心有坑
方法一
这种方法比较简单,只有一个步骤,只需要在配置文件中把需要设置为透明的activity的样式设置为
android:theme="@android:style/Theme.Translucent"
即可,这种方式只改变背景的颜色,对其他控件没有影响。但是它只能把背景设置为完全透明。如果要设置为半透明或者要设置透明的程度无法实现。
在实行方法一时遇到了一个问题:在我前面的文章有写:
方法二
这种方法也比较简单,只需要在方法一的基础上,再布局文件中配置背景颜色就可以。(但是我没有实现,一直是全透明)
android:background="#01000000"
“ #01000000”中“01”表示的是背景透明的程度,这个值只能设置01及以上的值,不能设置为00,及不能设置为完全透明,不过设置为01其实和透明的效果也很接近了,肉眼几乎看不出来区别了。这种方法同样对其他控件没有影响。
方法三
这种方法稍微复杂些,有几个步骤,这种方法对其他控件的透明度也会产生影响,并且可以自己设置透明的程度,相对来说要灵活一些。
第一步,在res/values下建立colors.xml文件,设置一个背景颜色,在这里可以设置你背景的颜色和透明度。
1.添加上自定义的颜色
<color name="transparent">#55ff</color>
第二步,在res/values/下建styles.xml,设置程序的风格(如果是android studio的话就不必建了,初始化即有)
<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中的任意标签中添加
android:theme="@style/Transparent"
如果想设置所有的activity都使用这个风格,可以把这句标签语句添加在 < application > 中。
这个方法不仅对背景透明有效,而且对其他控件也有效,如果其他控件没有设置背景颜色,会呈现出透明的效果。这种方法比较复杂些,如果不是需要对整个页面及控件都有透明度要求,建议使用前面两方法。
设置组件(button、TextView、EditView)为透明
(这种方式不适合设置为背景透明)
在布局文件中添加:
android:background="#00000000"
8个0
————————————————
版权声明:本文为CSDN博主「lily9」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lily9/article/details/11983221