android沉浸式状态栏白色,Android沉浸式状态栏
手把手教你实现
首选: 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沉浸式状态栏相关推荐
- android状态栏白色,Android如何实现状态栏白底黑字效果
Android如何实现状态栏白底黑字效果 发布时间:2021-04-16 12:28:10 来源:亿速云 阅读:77 作者:小新 这篇文章给大家分享的是有关Android如何实现状态栏白底黑字效果的内 ...
- 原生android 推送图标白色,Android推送通知:图标未显示在通知中,而是显示白色方块...
Android推送通知:图标未显示在通知中,而是显示白色方块 我的应用会生成通知,但我没有显示为该通知设置的图标.相反,我得到一个白色方块. 我已经尝试调整图标的大小(尺寸720x720,66x66, ...
- android通知图标变白色,android 7.0通知图标出现白色方块
我使用下面的代码片段在我的Android应用程序中生成通知. private void sendNotification(String contentText, String message) { I ...
- Android 沉浸式状态栏的实现方法、状态栏透明
现在越来越多的软件都开始使用沉浸式状态栏了,下面总结一下沉浸式状态栏的两种使用方法 注意!沉浸式状态栏只支持安卓4.4及以上的版本 状态栏:4.4上是渐变色,5.0上是完全透明,本文模拟器为4.4演示 ...
- android开发沉浸式标题栏_android实现沉浸式状态栏
前言 在android开发的过程中,经常会涉及到沉浸式状态栏的问题,说白了,就是手机屏幕顶部栏的颜色显示问题,为了实现美感一体的效果,许多app都已经开始了沉浸式状态栏的显示,这里,我也简单介绍一个沉 ...
- mui android 状态栏,MUI——设置沉浸式状态栏
沉浸式状态栏类型就是这样的 HBuilder创建的应用默认不使用沉浸式状态栏样式,需要进行如下配置开启: 打开应用的manifest.json文件,切换到代码视图,在plus -> status ...
- Android UI体验之全屏沉浸式透明状态栏效果
前言: Android 4.4之后谷歌提供了沉浸式全屏体验, 在沉浸式全屏模式下, 状态栏. 虚拟按键动态隐藏, 应用可以使用完整的屏幕空间, 按照 Google 的说法, 给用户一种 身临其境 的体 ...
- android 透明栏,Android状态栏透明(沉浸式效果)
Android状态栏透明(沉浸式效果) 默认效果 沉浸式效果 方式一 源码 1. 修改状态栏和导航栏的属性为透明 if (Build.VERSION.SDK_INT >= Build.VERSI ...
- android 沉浸式开源库,Android沉浸式状态栏
关于Android沉浸式状态栏, 网上已经有很多开源库, 虽然开源库可以解决某些特定布局下的沉浸式状态栏问题, 但是遇到比较特殊的布局就无法解决了, 所以了解一下沉浸式状态栏如何实现是有必要的. 无论 ...
最新文章
- 超牛EXCEL操作技巧,用的好,会涨工资哦
- win bat 输入参数
- Azure Redis 系列之 Azure Redis部署
- MATLAB从入门到精通-MATLAB结构矩阵的输出
- 牛客题霸 [寻找第K大] C++题解/答案
- Anti-Aliasing SSAA MSAA MLAA SRAA 简介
- java语言的科学与艺术-编程练习10.4
- 细说php第四版笔记,细说PHP 学习笔记(二)
- docker 删除镜像
- MFC功能扩展控件BCGSuite for MFC入门指南
- GAT GAX 简介
- 使用 乐吾乐topology 遇到的问题解决方法汇总
- 360安全浏览器支持国密功能
- python multiprocessing dummy Pool 使用
- IEEE Access投稿流程经验分享
- 第七章 如何增加收入
- JavaScript去除字符串中所有的标点符号,只保留中文、英文和数字
- 刷屏器!简单!快速!稳定!可控制速度!
- office修复找不到msi_Microsoft Office安装程序找不到ProPlus.WW\ProPlusWW.msi 弄不了
- mysql建库、建表命令、sql语句大全