Android透明状态栏

原创 2016年08月31日 12:32:02

先上代码:
透明状态栏:

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了

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android透明状态栏

  • 2017年07月03日 17:13
  • 1.71MB
  • 下载

初学者---Android 沉浸式(透明)状态栏适配

直接去这儿看吧: Android沉浸式(透明)状态栏适配 Android 系统状态栏沉浸式/透明化完整解决方案 自己试过的: 手机系统5.0 protected void onCreat...
  • xcjean
  • xcjean
  • 2017年11月23日 19:47
  • 55

android透明状态栏

  • 2017年04月07日 11:21
  • 23.48MB
  • 下载

Android 4.4新特性——透明状态栏

  • 2015年11月13日 15:17
  • 1.41MB
  • 下载

Android 4.4 沉浸式透明状态栏与导航栏

Android 4.4 沉浸式透明状态栏与导航栏,android4.4 Android 系统自4.2 开始 UI 上就没多大改变,4.4 也只是增加了透明状态栏与导航栏的功能,如图 ...

Android透明状态栏demo

  • 2016年09月22日 14:28
  • 22.84MB
  • 下载

Android状态栏透明化

  • 2016年09月07日 10:36
  • 18.74MB
  • 下载

Android状态栏和导航栏透明和沉浸式模式

最近在App上需要对状态栏进行相关的设置,在网上看了些文章,像郭神的沉浸式那篇博客对我启发蛮大,但是对状态栏的设置,包括隐藏,透明,颜色设置等,并没有比较系统的概念,实现方式不止一种,有操作Windo...
  • liugec
  • liugec
  • 2017年05月10日 22:47
  • 224
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android透明状态栏
举报原因:
原因补充:

(最多只允许输入30个字)