Android沉浸式和状态栏透明设置笔记!

来源:互联网 发布:胎动检测的软件 编辑:程序博客网 时间:2024/06/06 01:54

实现沉浸式效果:

图片效果:

@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {//判断API的版本        setTranslucentStatus(true);    }    SystemBarTintManager tintManager = new SystemBarTintManager(this);    tintManager.setStatusBarTintEnabled(true);    tintManager.setTintColor(Color.parseColor("#ff5825"));//设置状态栏颜色}
@TargetApi(19)private void setTranslucentStatus(boolean on) {    Window win = getWindow();    WindowManager.LayoutParams winParams = win.getAttributes();    final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;    if (on) {        winParams.flags |= bits;    } else {        winParams.flags &= ~bits;    }    win.setAttributes(winParams);}然后还需要在xml文件中配置一句放在根节点下:
android:fitsSystemWindows="true"使用github开源项目SystemBarTint实现效果:https://github.com/jgilfelt/SystemBarTint


设置状态和标题栏透明代码:


/透明状态栏

getWindow()
.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
//透明导航栏
getWindow()
.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

这一属性是在Android4.4以后才有的!

Android技术交流群:284128443
 

1 0
原创粉丝点击