美文网首页
记录android 沉浸式学习过程

记录android 沉浸式学习过程

作者: Y_C_Y_U | 来源:发表于2018-07-20 14:22 被阅读0次

在Android4.4之前,我们的应用没法改变手机的状态栏颜色,当我们打开应用时,在屏幕的顶部有一条黑色的状态栏,和应用的风格非常不协调;为了提供更好的界面交互,google在Android4.4以后提供了设置沉浸式状态栏的方法;在这里记录下自己学习时看的一些文章和setSystemUiVisibility() 一些常用属性的意思还有大神开源的沉浸式工具类;

文章

1. Android 沉浸式状态栏的实现

2.【张鸿洋的博客】Android 沉浸式状态栏攻略 让你的状态栏变色吧

3. 知乎的回答

状态栏攻略

关于Android 4.4后所谓"沉浸式"效果的实现

开源的工具类

1.StatusBarUtil

2.ImmersionBar

4.4实现沉浸式的工具

getDecorView().setSystemUiVisibility() 一些常用属性 ()“沉浸式状态栏”--完全理解沉浸模式

View.SYSTEM_UI_FLAG_LOW_PROFILE:状态栏显示处于低能显示状态(low profile模式),状态栏上一些图标显示会被隐藏。

 View.SYSTEM_UI_FLAG_FULLSCREEN:Activity全屏显示,且状态栏被隐藏覆盖掉。等同于(WindowManager.LayoutParams.FLAG_FULLSCREEN) 

 View.SYSTEM_UI_FLAG_HIDE_NAVIGATION:隐藏虚拟按键(导航栏)。有些手机会用虚拟按键来代替物理按键。

 View.SYSTEM_UI_FLAG_IMMERSIVE:这个flag只有当设置了SYSTEM_UI_FLAG_HIDE_NAVIGATION才起作用。

如果没有设置这个flag,任意的View相互动作都退出SYSTEM_UI_FLAG_HIDE_NAVIGATION模式。如果设置就不会退出。    

View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY:这个flag只有当设置了SYSTEM_UI_FLAG_FULLSCREEN | SYSTEM_UI_FLAG_HIDE_NAVIGATION 时才起作用。如果没有设置这个flag,任意的View相互动作都坏退出SYSTEM_UI_FLAG_FULLSCREEN | SYSTEM_UI_FLAG_HIDE_NAVIGATION模式。 如果设置就不受影响。    

View.SYSTEM_UI_FLAG_LAYOUT_STABLE: 保持View Layout不变,隐藏状态栏或者导航栏后,View不会拉伸。    

View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN:让View全屏显示,Layout会被拉伸到StatusBar下面,不包含NavigationBar。    

View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION:让View全屏显示,Layout会被拉伸到StatusBar和NavigationBar下面   getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);会让layout 从状态栏那边开始 显示,有些手机会隐藏状态栏,但有些手机不会如 华为的(NEM-AL10)getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE);会保持layout 不会拉伸getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);会隐藏导航栏,但是点击屏幕的任何地方,他都会从新显示出来。

下面把我自己写的过程记录下

从4.4后系统增加了透明状态栏的特性WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS 这可以在代码中调用,也可在style.xml 设置 ,我使用的是在style.xml 中设置, 如一下图 示例,我在res分别建立 默认的values、values-v19、values-v21 。

style 里面的内容 分别为 

在Android manifest 文件中 的activity 增加android:theme 如下图所示

现在来看下运行效果:

这样的一个简单的效果就出来了, 具体其他效果,修改状态栏颜色,修改状态栏字体颜色,大家可以参考:Android 沉浸式状态栏的实现 , statusBarUtils 中文说明 ,https://www.jianshu.com/p/27d548b2c942 , ImmersionBar等其他,这些地址大神已经把细节和实现方式都讲的很清楚了。我口才不好,就不班门弄斧了。

android 在6.0之后才提供了修改状态栏字体颜色,但是在6.0以下,状态栏字体是白色,部分手机厂商提供 在 4.4 至 5.0 状态栏黑色字体模式  地址如下:

小米黑色字体 , 魅族oppo 

记录下简单的刘海屏官方适配地址

华为小米刘海屏 Android O 适配小米刘海屏 Android P 适配,  oppo,    vivo ,

相关文章

  • 记录android 沉浸式学习过程

    在Android4.4之前,我们的应用没法改变手机的状态栏颜色,当我们打开应用时,在屏幕的顶部有一条黑色的状态栏,...

  • 观光式学习和沉浸式学习

    今天,在阅读的过程中,接触到两个词汇:观光式学习和沉浸式学习。然而,何为观光式学习,何为沉浸式学习?对于这个问题,...

  • Android 沉浸式状态栏学习记录

    Android使用沉浸式状态栏会让你的app看起来更加高大上,但是会产生很多兼容问题,一个app的activity...

  • android沉浸式状态栏 轻量 简便

    android沉浸式状态栏 android 沉浸式状态栏 网上看了很多沉浸式,感觉用起来麻烦,而且有些库非常大,于...

  • Android学习目录

    Theme风格 Android 沉浸式风格(为毛叫沉浸式这么唬人) Build编译 Android 多渠道打包(同...

  • Android 沉浸式模式与常见状态栏和导航栏效果

    Android沉浸式模式 官方称沉浸式状态栏为沉浸式模式。 什么是沉浸式?沉浸式就是让人专注当前的(由设计者营造)...

  • Android 补充 LayerDrawable 沉浸式状态栏

    小菜前些日子整理了两次小小的沉浸式状态栏的总结:Android 沉浸式状态栏的多种样式 和 Android 沉浸式...

  • android沉浸式状态栏

    android沉浸式状态栏 参考文章 另外两种android沉浸式状态栏实现思路 android4.4+实现MD状...

  • 沉浸式学习

    怎么样才能沉浸式学习,为什么我只能沉浸式玩手机? 他们沉浸式回家,沉浸式学习,沉浸式生活,总之,都能够沉浸进去。而...

  • AndroidView

    Android 沉浸式 (透明) 状态栏适配 Android 沉浸式状态栏仿淘宝、京东拖拽商品详情(可嵌套View...

网友评论

      本文标题:记录android 沉浸式学习过程

      本文链接:https://www.haomeiwen.com/subject/milewttx.html