
Android - Dim the system bars
发布日期:2021-05-06 23:02:41
浏览次数:22
分类:精选文章
本文共 2357 字,大约阅读时间需要 7 分钟。
Android系统栏减少方法
Dim the system bars
本文将介绍如何在Android 4.0及以上版本中减少系统栏(即状态栏和导航栏)的显示。需要注意的是,Android早期版本并未提供内置的减少系统栏的方法。
Dim Status and Navigation Bars
要减少状态和导航栏,可以使用SYSTEM_UI_FLAG_LOW_PROFILE
旗标。以下是使用该旗标的示例代码:
View decorView = getActivity().getWindow().getDecorView();int uiOptions = View.SYSTEM_UI_FLAG_LOW_PROFILE;decorView.setSystemUiVisibility(uiOptions);
当用户触碰状态栏或导航栏区域时,SYSTEM_UI_FLAG_LOW_PROFILE
旗标会被清除,系统栏将恢复正常显示。然而,一旦旗标被清除,你的应用需要重新设置该旗标以再次减少系统栏。
Reveal the Status and Navigation Bars
如果你想程序atically清除使用setSystemUiVisibility()
方法设置的旗标,可以执行以下操作:
View decorView = getActivity().getWindow().getDecorView();decorView.setSystemUiVisibility(0);
IDE和开发环境
-
Android Studio版本:Android Studio 4.1.1
- Build #AI-201.8743.12.41.6953283,建于2020年11月5日
- 运行时版本:1.8.0_242-release-1644-b01,AMD64
- 虚拟机:OpenJDK 64位服务器VM,由 JetBrains s.r.o 提供
-
Android虚拟设备:Pixel_2_API_28
- CPU/ABI:Google Play Intel Atom (x86)
- 路径:C:\Users\86188.android\avd\Pixel_2_API_28.avd
- 目标:google_apis_playstore [Google Play] (API级别28)
- 皮肤:pixel_2
- SD卡:512M
项目配置
创建项目时,请选择Empty Activity,并在配置项目时选择Minimum SDK为API 16:Android 4.1 (Jelly Bean)。
布局文件
编辑src/main/res/layout/activity_main.xml
,添加两个Button组件:
主活动类
编辑MainActivity
(第18、21~30行):
package com.mk;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button buttonDim = (Button) findViewById(R.id.buttonDim); buttonDim.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { View decorView = getWindow().getDecorView(); decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE); } }); Button buttonUndimmed = (Button) findViewById(R.id.buttonUndim); buttonUndimmed.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { View decorView = getWindow().getDecorView(); decorView.setSystemUiVisibility(0); } }); }}
注意事项
- 本文中的示例仅在Android虚拟设备上运行测试,并未在真实设备上运行测试。
- 请确保在实际应用中遵守Google的开发规范,并遵循相关的开发者协议。
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年04月14日 19时34分18秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
C语言程序设计梁海英答案,1.5 习题
2025-03-29
c语言编写单片机中断,C语言AVR单片机中断程序写法
2025-03-29
#pragma region、{}
2025-03-29
ddr2的上电顺序_S5PV210 DDR2初始化 28个步骤总结
2025-03-29
deque stack java_「集合系列」- 初探 java 集合框架图
2025-03-29
eclipse里source的快捷方法_Eclipse快捷键/快捷操作汇总
2025-03-29
excel中最常用的30个函数_Excel玩转数据分析常用的43个函数!
2025-03-29
flink sql设置并行度_Flink 参数配置和常见参数调优
2025-03-29
go 字符串替换_Go 每日一库之 quicktemplate
2025-03-29
hp工作站z8装Linux,惠普Z8G4双路最小工作站
2025-03-29
html上传图片直接保存到数据库中,Editor上传图片路径存入数据库中怎么弄?
2025-03-29
jaccard相似度_自然语言处理之文本相似度计算
2025-03-29
java 字符编码过滤器_java web中字符编码的过滤器(Filter - 1)
2025-03-29
java书籍_还搞不定Java多线程和并发编程面试题?你可能需要这一份书单!
2025-03-29
java开发区块链_用Java代码实现区块链
2025-03-29