1、设置Activity透明度
有几种方法:
1>.在清单文件中配置Activity时声明android:theme="@android:style/Theme.Translucent"
2>.使用自定义主题,先看看自定义主题中须要用到的一些属性设置说明
android
<style name="custom" parent="@android:style/Theme.Dialog"> <item name="android:windowFrame">@null</item><!-- 边框 --> <item name="android:windowIsFloating">true</item><!-- 是否悬浮在activity上 --> <item name="android:windowIsTranslucent">true</item><!-- 半透明 --> <item name="android:windowNoTitle">true</item><!-- 无标题 --> <item name="android:windowBackground">@android:color/transparent</item><!-- 背景透明 --> <item name="android:backgroundDimEnabled">false</item><!-- 模糊 --> <item name="android:backgroundDimAmount">0.6</item><!-- 灰度 --> <item name="android:windowContentOverlay">@null</item><!-- 窗口是否有遮盖 --> <item name="android:windowAnimationStyle">@+android:style/Animation.Translucent</item><!-- Activity切换动画效果,也能够自定义 --> <item name="android:colorBackgroundCacheHint">@null</item><!-- 背景缓存颜色 --> </style>
下面是一个简单的半透明效果,相似微信登陆切换帐号时,下面会弹出三个按钮,上面是半透明的效果;缓存
<color name="trans_parent">#9000</color> <!--透明度--> <!-- 在此添加一种颜色值模式ARGB{xxxxxxxx},A{前两位}表示Appha即透明度,取值为0-255 --> <style name="TransParentTheme"> <item name="android:windowBackground">@color/trans_parent</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowAnimationStyle">@+android:style/Animation.Translucent</item> <!--Activity切换动画效果--> </style>
定义好主题以后须要在Activity配置中进行对主题的引用!微信
WindowManager.LayoutParams windowLP = getWindow().getAttributes(); windowLP.alpha = 0.5f; getWindow().setAttributes(windowLP);
WindowManager.LayoutParams windowLP = getWindow().getAttributes(); windowLP.dimAmount = 0.5f; getWindow().setAttributes(windowLP); getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
//无title requestWindowFeature(Window.FEATURE_NO_TITLE); //全屏 getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN , WindowManager.LayoutParams. FLAG_FULLSCREEN); //此两段代码必须设置在setContentView()方法以前 setContentView(R.layout.main);
2.在配置文件中设置
在Activity的声明中设置主题为全屏动画
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"