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 SDKAPI 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的开发规范,并遵循相关的开发者协议。
上一篇:Android - Hide the status bar
下一篇:Android - Add a Floating Action Button

发表评论

最新留言

网站不错 人气很旺了 加油
[***.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
easyexcel 导出 代码翻译converter_【starter推荐】简单高效Excel 导出工具 2025-03-29
eclipse里source的快捷方法_Eclipse快捷键/快捷操作汇总 2025-03-29
elasticsearch 查询_Elasticsearch地理信息存储及查询之Geo_Point 2025-03-29
embedding层_【预估排序】Embedding+MLP: 深度学习预估排序通用框架(一) 2025-03-29
excel中最常用的30个函数_Excel玩转数据分析常用的43个函数! 2025-03-29
flink sql设置并行度_Flink 参数配置和常见参数调优 2025-03-29
go 字符串替换_Go 每日一库之 quicktemplate 2025-03-29
hex editor neo下载_口袋妖怪爆焰黑手机版下载-口袋妖怪爆焰黑手游下载v4.3.0 安卓版... 2025-03-29
hp工作站z8装Linux,惠普Z8G4双路最小工作站 2025-03-29
html上传图片直接保存到数据库中,Editor上传图片路径存入数据库中怎么弄? 2025-03-29
ICLOUD储存空间要升级吗_有人像我一样需要恢复苹果手机icloud空间ios备份时 微信卡住不动了吗(已解决)... 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