手把手教你实现

首选: android在4.4版本上添加了WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS 和 WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION,即透明的状态栏和导航栏,在使用过程中,一般会配合fitsSystemWindows和clipToPadding属性一起使用

android:fitsSystemWindows="true"

android:clipToPadding="true"

当然,如果你使用了Toolbar,可以通过以下方式设置

1.在App主题中添加 windowTranslucentStatus 和 windowIsTranslucent 属性

false

true

true

true

@android:color/transparent

也可以在Activity中通过代码设置实现上述功能,因为在部分机型上,xml设置属性无效

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {

WindowManager.LayoutParams localLayoutParams = getWindow().getAttributes();

localLayoutParams.flags = (WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | localLayoutParams.flags);

}

2.在Toolbar添加相关属性,使得Toolbar不受状态栏影响变形

android:id="@+id/appbar_layout"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:clipToPadding="true"

android:fitsSystemWindows="true"

android:theme="@style/AppTheme.AppBarOverlay"

toolbar:elevation="0.5dp">

android:id="@+id/toolbar"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:background="?attr/colorPrimary"

android:clipToPadding="true"

android:fitsSystemWindows="true"

android:minHeight="?attr/actionBarSize"

toolbar:popupTheme="@style/AppTheme.PopupOverlay" />

使用android:fitsSystemWindows="true",就可以调整内容布局(估计也是在根布局上加padding)恢复到原来位置

在开发过程中,有事我们还会使用到Dawerlayout,针对Drawerlayout我们也需要实现沉浸式,所以如果开发中使用了Drawerlayout,需要设置以下代码实现Drawerlayout沉浸式

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {

WindowManager.LayoutParams localLayoutParams = getWindow().getAttributes();

local LayoutParams.flags = (WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | localLayoutParams.flags);

if(Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP){

//将侧边栏顶部延伸至status bar

mDrawerLayout.setFitsSystemWindows(true);

//将主页面顶部延伸至status bar;虽默认为false,但经测试,DrawerLayout需显示设置

mDrawerLayout.setClipToPadding(false);

}

}

android沉浸式状态栏白色,Android沉浸式状态栏相关推荐

  1. android状态栏白色,Android如何实现状态栏白底黑字效果

    Android如何实现状态栏白底黑字效果 发布时间:2021-04-16 12:28:10 来源:亿速云 阅读:77 作者:小新 这篇文章给大家分享的是有关Android如何实现状态栏白底黑字效果的内 ...

  2. 原生android 推送图标白色,Android推送通知:图标未显示在通知中,而是显示白色方块...

    Android推送通知:图标未显示在通知中,而是显示白色方块 我的应用会生成通知,但我没有显示为该通知设置的图标.相反,我得到一个白色方块. 我已经尝试调整图标的大小(尺寸720x720,66x66, ...

  3. android通知图标变白色,android 7.0通知图标出现白色方块

    我使用下面的代码片段在我的Android应用程序中生成通知. private void sendNotification(String contentText, String message) { I ...

  4. Android 沉浸式状态栏的实现方法、状态栏透明

    现在越来越多的软件都开始使用沉浸式状态栏了,下面总结一下沉浸式状态栏的两种使用方法 注意!沉浸式状态栏只支持安卓4.4及以上的版本 状态栏:4.4上是渐变色,5.0上是完全透明,本文模拟器为4.4演示 ...

  5. android开发沉浸式标题栏_android实现沉浸式状态栏

    前言 在android开发的过程中,经常会涉及到沉浸式状态栏的问题,说白了,就是手机屏幕顶部栏的颜色显示问题,为了实现美感一体的效果,许多app都已经开始了沉浸式状态栏的显示,这里,我也简单介绍一个沉 ...

  6. mui android 状态栏,MUI——设置沉浸式状态栏

    沉浸式状态栏类型就是这样的 HBuilder创建的应用默认不使用沉浸式状态栏样式,需要进行如下配置开启: 打开应用的manifest.json文件,切换到代码视图,在plus -> status ...

  7. Android UI体验之全屏沉浸式透明状态栏效果

    前言: Android 4.4之后谷歌提供了沉浸式全屏体验, 在沉浸式全屏模式下, 状态栏. 虚拟按键动态隐藏, 应用可以使用完整的屏幕空间, 按照 Google 的说法, 给用户一种 身临其境 的体 ...

  8. android 透明栏,Android状态栏透明(沉浸式效果)

    Android状态栏透明(沉浸式效果) 默认效果 沉浸式效果 方式一 源码 1. 修改状态栏和导航栏的属性为透明 if (Build.VERSION.SDK_INT >= Build.VERSI ...

  9. android 沉浸式开源库,Android沉浸式状态栏

    关于Android沉浸式状态栏, 网上已经有很多开源库, 虽然开源库可以解决某些特定布局下的沉浸式状态栏问题, 但是遇到比较特殊的布局就无法解决了, 所以了解一下沉浸式状态栏如何实现是有必要的. 无论 ...

最新文章

  1. 超牛EXCEL操作技巧,用的好,会涨工资哦
  2. win bat 输入参数
  3. Azure Redis 系列之 Azure Redis部署
  4. MATLAB从入门到精通-MATLAB结构矩阵的输出
  5. 牛客题霸 [寻找第K大] C++题解/答案
  6. Anti-Aliasing SSAA MSAA MLAA SRAA 简介
  7. java语言的科学与艺术-编程练习10.4
  8. 细说php第四版笔记,细说PHP 学习笔记(二)
  9. docker 删除镜像
  10. MFC功能扩展控件BCGSuite for MFC入门指南
  11. GAT GAX 简介
  12. 使用 乐吾乐topology 遇到的问题解决方法汇总
  13. 360安全浏览器支持国密功能
  14. python multiprocessing dummy Pool 使用
  15. IEEE Access投稿流程经验分享
  16. 第七章 如何增加收入
  17. JavaScript去除字符串中所有的标点符号,只保留中文、英文和数字
  18. 刷屏器!简单!快速!稳定!可控制速度!
  19. office修复找不到msi_Microsoft Office安装程序找不到ProPlus.WW\ProPlusWW.msi 弄不了
  20. mysql建库、建表命令、sql语句大全

热门文章

  1. 随机生成中文姓氏名字
  2. 汉字国标码、区位码和机内码三者的定义及联系
  3. c语言中 (n 1)
  4. 云服务之第一课云计算概述
  5. Hexo 博客 添加 3D 看板娘 替换原来的 Live2D
  6. linux文件系统挂载fstab
  7. 一次一粒沙,一次一件事
  8. Unity实现鼠标的固定与隐藏
  9. 【c++基础】int转string自动补零 前缀补零
  10. 几大主流区块链开源技术的比较