实现沉浸式效果:
图片效果:
@Override protected 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