1、只是activity实现沉浸式的状态

1、先在ActivityManifest.xml 中配置 activity的主题:android:theme="@style/Theme.AppCompat.Light.NoActionBar"

2、代码设置状态栏属性

(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN--全屏;View.SYSTEM_UI_FLAG_LAYOUT_STABLE--状态栏字体白色)

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {    Window window = getWindow();    window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN| View.SYSTEM_UI_FLAG_LAYOUT_STABLE);    window.setStatusBarColor(Color.TRANSPARENT);//设置状态栏背景是透明}

3、activity的根节点不要加 

android:fitsSystemWindows="true"这个属性,加了就会有状态栏展示;

2、activity中包含fragment切换,状态栏动态切换的问题

1、同上 android:theme="@style/Theme.AppCompat.Light.NoActionBar"

2.、使用代码设置不同fragment页面状态栏属性

@Overridepublic void onPageSelected(int position) {                        //改变状态栏的方法(系统5.0以上)    switch (position) {        case 0:            setTransparentStatusBar();            break;        case 1:            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {                getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);            }            break;        case 2:            setTransparentStatusBar();            break;        default:            break;    }}

 

public void setTransparentStatusBar() {    if(Build.VERSION.SDK_INT >= 21) {        Window window = getWindow();        window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN| View.SYSTEM_UI_FLAG_LAYOUT_STABLE);        window.setStatusBarColor(Color.TRANSPARENT);    }}

 

3、(activity根节点一定 不要 不要 不要加android:fitsSystemWindows="true"这个属性)

fragment需要沉浸式时候,根节点加android:fitsSystemWindows="true"这个属性

如果只是像第二个页面一样,设置状态栏透明或者白色 ,状态栏字体是灰色 ,根节点不需要加android:fitsSystemWindows="true"

 

参考:https://www.jianshu.com/p/4a5ff4e2c298

更多相关文章

  1. Android(安卓)对话框【Dialog】去除白色边框代码
  2. Ubuntu 10.04安装android NDK
  3. Android中attrs.xml
  4. android 4中新增的日历处理相关API
  5. Android(安卓)Studio 设置控件和颜色透明度
  6. android 4中新增的日历处理相关API
  7. Android各种简单的对话框的实现案例
  8. LinearLayout 内部控件居中
  9. 修改状态栏颜色和状态栏字体颜色

随机推荐

  1. 在Mac OS X下安裝Android開發環境和Eclip
  2. 基于android的NFS根文件系统的制作
  3. android 在布局文件中报错:This text fie
  4. 新手在路上! Android(安卓)UI界面设计
  5. Android(安卓)Bitmap内存限制问题
  6. Android智能手机网络防火墙开发的经验心
  7. 关于android读取ICCID、IMSI和IMEI
  8. 每个Android开发者必须知道的资源集锦
  9. 图说Android的8年演变史
  10. android v7包 正常导入使用方法