Android Status Bar的隐藏与浮层效果
来源:互联网 发布:神经网络数据融合 编辑:程序博客网 时间:2024/05/18 16:57
Android SystemBar各种风格案例:
Android System Bar(Status Bar 和Navigation Bar)暗淡效果
Android Status Bar的隐藏与浮层效果
Android NavigationBar隐藏与浮层
Android SystemBar(Status Bar 和Navigation Bar)设置 Immersive与Sticky Immersion风格
Android 响应System UI状态,焦点改变,手势处理
隐藏Status Bar
StatusBar显示状态:
StatusBar隐藏状态:
在Android 4.0和更低版本下:
通过Theme主题来直接控制应用程序的StatusBar:
<application ... android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen" > ...</application>
或者,在onCreate()中通过WindowManager设置FLAG_FULLSCREEN标示来实现。注意点:setContentView之前写入。
class MainActivity : AppCompatActivity(), View.OnClickListener { private var tag = MainActivity::class.java.simpleName override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) if (Build.VERSION.SDK_INT<16){ setSystemBarOnLowerVersion() } setContentView(R.layout.activity_main) } /** * 在4.0 及其以下,设置StatusBar */ fun setSystemBarOnLowerVersion(){ window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN) }}
更好的做法是使用 FLAG_LAYOUT_IN_SCREEN
来实现相同效果,还能预防当Statusbar显示与隐藏导致界面布局重新计算大小。
在Android 4.1和更高版本下:
在Android4.1及其以上版本,使用setSystemUiVisibility()
来控制UI flag,比使用WindManger flag更容易控制。
/** * 全屏,会隐藏StatusBar */ var action_hide_status_bar = View.SYSTEM_UI_FLAG_FULLSCREEN /** * StatusBar正常隐藏的风格 */ fun setStatusNormalStyle(window: Window) { var flag = action_hide_status_bar window.decorView.systemUiVisibility = flag }
浮层效果:确保StatusBar浮在界面布局之上
/** * 全屏,会隐藏StatusBar */ var action_hide_status_bar = View.SYSTEM_UI_FLAG_FULLSCREEN /** * 系统4.1或者更高版本,可以使StatusBar浮在内容上面, * * 与 View.SYSTEM_UI_FLAG_FULLSCREEN效果类似 */ var action_hide_status_bar_float = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN /** * 与SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION或者SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN * 结合使用,确保布局稳定 */ var action_stable = View.SYSTEM_UI_FLAG_LAYOUT_STABLE /** * StatusBar浮层隐藏的风格 */ fun setStatusFloatStyle(window: Window) { var flag = action_hide_status_bar or action_hide_status_bar_float or action_stable window.decorView.systemUiVisibility = flag }
使用View.View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
和View.SYSTEM_UI_FLAG_LAYOUT_STABLE
,确保StatusBar能够浮在界面布局之上,也不会产生界面兼容问题。
效果如下:
本项目案例:https://github.com/13767004362/ManageSystemUIDemo
参考资源:
- 官方介绍:https://developer.android.google.cn/training/system-ui/index.html
阅读全文
0 0
- Android Status Bar的隐藏与浮层效果
- 【android】隐藏title bar和system navigation bar,status bar
- android 显示/隐藏状态栏(Status bar)
- iphone隐藏,渐显Status Bar的方法
- [IOS] UIViewController 隐藏 Status Bar 的方法
- IOS学习 隐藏status bar的设置
- Android的status bar分析
- Android的status bar分析
- 隐藏Status Bar
- 隐藏Status Bar
- iOS7 隐藏status bar
- iOS7 隐藏status Bar
- iOS7隐藏status Bar
- ios隐藏status bar
- iOS 隐藏 status bar
- iOS 隐藏status bar
- Android System Bar(Status Bar 和Navigation Bar)暗淡效果
- 动态显示,隐藏status bar
- 导入、导出oracle数据库
- LRU缓存-java简单实现
- 强力输入挂
- 说一说 Python 的对象优化
- css基础注意事项
- Android Status Bar的隐藏与浮层效果
- 交换两个变量值,不使用第三个变量
- Kaldi学习之数据准备详细解释说明
- 畅通工程 HDU
- leetcode[Set Mismatch]//待整理多种解法
- SSM框架搭建
- oracle报错,“未明确定义列”,是什么意思?
- unity3d-连接mysql数据库
- yarn学习之基础库