关闭

Android透明状态栏

标签: android透明状态栏
81人阅读 评论(0) 收藏 举报

先上代码:
透明状态栏:

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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:14086次
    • 积分:629
    • 等级:
    • 排名:千里之外
    • 原创:51篇
    • 转载:0篇
    • 译文:0篇
    • 评论:4条