给Activity设置背景(半)透明

一 设置Activity背景完全透明
1 设置样式Theme.Translucent
可用的样式有:
@android:style/Theme.Translucent@android:style/Theme.Translucent.NoTitleBar@android:style/Theme.Translucent.NoTitleBar.Fullscreen
注意:如果直接使用了,你的程序也许会直接崩溃!原因可能是你的Activity继承的是V7包的AppCompatActivity,这时你所使用的主题要与Theme.AppCompat兼容,否则程序就会崩溃了。
解决方案:
使你的Activity继承android.app包的Activity。
2 使用background
在布局直接使用属性background,可惜我试过了是没有效果的。
3 自定义样式如下:

name= "gray_64" > #646464
name= "transparent" > #00000000
说明:如果直接这样子使用 了,程序可能崩溃,原因和1一样,
其中解决方案一:
参考1就是: 使你的Activity继承android.app包的Activity
解决方案二:
使我们自定义的样式继承Application标签下设置的样式后,再设置透明背景,代码如下:
4 设置Window参数
@Override
public void onStart() {
    super.onStart();
    Window window = getWindow();
    WindowManager.LayoutParams windowParams = window.getAttributes();
    windowParams.alpha = 1f;//1.0全透明.0不透明.
    window.setAttributes(windowParams);
}
说明,在onStart方法中通过windowParams.alpha属性设置透明度,这个方法设置完透明可以但是设置半透明就不行了,不能达到对话框弹起来的那中效果。
设置Activity背景半透明
1 自定义样式继承
@android:style/Theme.Dialog(推荐)
说明,这样Activity启动后就能达到对话框效果,如果程序崩溃参考上述(一)中的1。
给Activity设置背景(半)透明_第1张图片




你可能感兴趣的:(Android,UI)