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


这篇文章是我转载的,转载的目的:
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

发布了2 篇原创文章 · 获赞 0 · 访问量 119
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 1024 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览