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透明状态栏的实现

通过定义主题实现android透明状态栏
  • Haunt_
  • Haunt_
  • 2016年04月26日 11:32
  • 1280

Android 4.4及以上版本实现状态栏透明

转载请标明原地址:http://blog.csdn.net/u012258494/article/details/71215530参考了网上的很多方法,实现了状态栏透明,即状态栏和标题栏颜色一致。特此...
  • u012258494
  • u012258494
  • 2017年05月05日 16:52
  • 340

Android透明状态栏(4.4以上版本)

关键代码:protected void initSystemBar() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLI...
  • qq_33666539
  • qq_33666539
  • 2017年01月22日 17:37
  • 175

Android 状态栏全透明策略

#Android 状态栏全透明策略@(Android)展示效果:Android4.4以下: 状态栏黑乎乎一片 Android4.4以后, 可以将状态栏设置为透明, 或者任意颜色 1. 全屏模式 ...
  • u013647382
  • u013647382
  • 2016年06月07日 13:41
  • 16169

Android5.0全透明状态栏效果

Android 5.0 状态栏全透明效果
  • fengye810130
  • fengye810130
  • 2015年03月19日 17:22
  • 53020

Android透明状态栏与沉浸模式全解

Android透明状态栏与沉浸模式全解现在如今利用状态栏做文章的主要就是如下四种场景了,先上图 - 网易云音乐 状态栏与标题栏同色,无缝衔接 - 多看阅读 全屏沉浸阅读(视频,游戏同理) -...
  • tc_xingdechen
  • tc_xingdechen
  • 2017年04月03日 13:04
  • 531

一个activity中有多个fragment的透明状态栏处理

Android 透明状态栏,相信大家都可以找到方法这里再啰嗦一下: /** * 修改状态栏为全透明 * * @param activity */ ...
  • u013951017
  • u013951017
  • 2017年01月18日 09:56
  • 3652

Android 透明状态栏实现方案

values-v19 name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> item name="colo...
  • u013749540
  • u013749540
  • 2016年05月01日 16:30
  • 1231

Android 4.4+实现透明状态栏( transparent status bar)

透明状态栏,即将应用中顶部的黑色区域(包含时间显示)透明化,就像苹果应用的沉浸式状态栏一样,状态栏像是”沉”到了应用中,染成了和应用一样的颜色 这里分两种类型:5.0以上和4.4系统以上 5....
  • u013450131
  • u013450131
  • 2016年03月29日 01:37
  • 933

android 全透明状态栏

取消 actionbar 阴影,appcompat , theme 添加 @null getSupportActionBar().setElevation(0); 透明状态栏 ...
  • z1074971432
  • z1074971432
  • 2015年06月21日 13:10
  • 7292
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android透明状态栏
举报原因:
原因补充:

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