Android透明状态栏

来源:互联网 发布:淘宝差评多久可以删除 编辑:程序博客网 时间:2024/06/08 02:08

先上代码:
透明状态栏:

if (Build.VERSION.SDK_INT >= 21) {           //只有5.0以上的系统才支持    View decorView = getWindow().getDecorView();    int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN             |View.SYSTEM_UI_FLAG_LAYOUT_STABLE;    decorView.setSystemUiVisibility(option);   //设置系统UI元素的可见性    getWindow().setStatusBarColor(Color.TRANSPARENT);   //将状态栏设置成透明色}ActionBar actionBar = getSupportActionBar();actionBar.hide();   //隐藏ActionBar

透明状态栏+透明底部导航栏

if (Build.VERSION.SDK_INT >= 21) {    View decorView = getWindow().getDecorView();    int option = View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION   //隐藏底部导航栏            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN            | View.SYSTEM_UI_FLAG_LAYOUT_STABLE;    decorView.setSystemUiVisibility(option);    getWindow().setNavigationBarColor(Color.TRANSPARENT);    //将导航栏设置为透明    getWindow().setStatusBarColor(Color.TRANSPARENT);}ActionBar actionBar = getSupportActionBar();actionBar.hide();

总结:最主要的一个函数setSystemUiVisibility() 设置系统UI的可见性


其他:
全屏模式:

@Override    public void onWindowFocusChanged(boolean hasFocus) {        super.onWindowFocusChanged(hasFocus);        if (hasFocus && Build.VERSION.SDK_INT >= 19) {            View decorView = getWindow().getDecorView();            decorView.setSystemUiVisibility(                    View.SYSTEM_UI_FLAG_LAYOUT_STABLE                            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION                            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN                            | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION                            | View.SYSTEM_UI_FLAG_FULLSCREEN                            | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);        }    }

隐藏ActionBar的三种方法:
1、修改主题(推荐)

android:theme="@style/AppTheme"<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"/>

2、调用hide隐藏

ActionBar actionBar = getActionBar();//ActionBar actionBar = getSupportActionBar();(v7包)actionBar.hide();

3、继承Activity
Activity继承AppCompatActivity是默认显示ActionBar的

关于ActionBar:3.0的时候引入ActionBar 5.0的时候推荐使用ToolBar了

0 0