Android 从44开始引进透明状态栏和导航栏的概念,并且在50进行了改进,将透明变成了半透明的效果。虽然此特性最早出现在ios,但不否认效果还是很赞的。
至于44以下的手机,就不要考虑此特性了,好在44以下的手机份额已经非常小了。
我们先来看一下透明状态栏的实现,两种常见效果图如下:
虚拟导航栏并不是所有的手机都有,华为的手机多比较常见,就是上图屏幕底部按钮那块区域。设置导航栏和状态栏类似:
这是官方的解释,大致意思就是我们在布局的最外层设置 android:fitsSystemWindows="true",会在屏幕最上方预留出状态栏高度的padding。
由于fitsSystemWindows属性本质上是给当前控件设置了一个padding,所以我们设置到根布局的话,会导致状态栏是透明的,并且和窗口背景一样。
但是多数情况,我们并不在根布局设置这个属性,我们想要的无外乎是让内容沉浸在状态栏之中。所以我们经常设置在最上端的背景、Banner之类的,如果是Toolbar的,我们可以使用一层LinearLayout包裹,并把这个属性设置给LinearLayout,这样就可以避免Toolbar的内容下沉了。如:
上述方法可以解决普通页面的透明式状态栏需求,如有复杂需求可以参考下面这些:
Android 系统状态栏沉浸式/透明化完整解决方案
Android 沉浸式状态栏的实现
Android沉浸式状态栏(透明状态栏)最佳实现
还有开源库推荐: ImmersionBar
新版的手机淘宝自定义菜单的设置非常简单,步骤如下:
1首先在电脑上登陆你的淘宝,并进入卖家中心,找到微淘,点击进入
2然后找到自定义菜单这个选项,点击进去
3然后会让你新建一个模板,这里的模板名字可以随意填写,看你自己,然后点击下一步
4然后在打开的编辑菜单里面根据页面显示填写相应的信息,如果不需要二级子菜单就直接添加即可,如果需要的话就选择第一个即可。
5在二级子菜单里面,可以使用系统已经有的链接,也可以使用自定义链接,比如电话,邮件都可以使用
6当一切都添加完毕之后,就可以确认发布自定义菜单了。当你发布之后,就可以在手机上打开手机淘宝查看到你刚刚编辑的自定义菜单。
1、如果机型为P8,可能是打开了灵犀一指开关。请在“设置>智能辅助>灵犀一指”中,将灵犀一指开关关闭。
注:在没有贴灵犀一指贴膜情况下,请不要打开灵犀一指开关。
2、可能是进入全屏应用时,状态栏消失。退出应用后状态栏即可恢复。
3、可能是导航键被隐藏
解决方案:
EMUI5X :设置>导航键>导航栏可隐藏,关闭此开关即可。
EMUI8X:设置>系统>系统导航>导航栏(设置)>导航栏可隐藏,关闭此开关即可。在 Android导航栏隐藏与浮现(一) 中已经以 Nexus5 为例, Android M 为基础介绍了怎么实现底部导航栏的隐藏与浮现,本文将介绍怎么在设置(辅助功能)中加入控制该功能的开关。
上图可以看到,应用中加入了一个 Enhance Navigation bar 的选项,该功能开启后可以长点击任务键(Recent)时,导航栏隐藏;从下不向上滑时,导航栏展示。 关闭后即取消了该功能。下面看一下整体的 *** 作步骤:
在 Settingsapk 中修改相应的资源文件即可,修改中可以参考系统设置中的 Large text , 步骤如下:
修改 /packages/apps/Settings/res/values-zh-rCN/stringsxml ,添加资源名称:
修改 /packages/apps/Settings/res/values/stringsxml ,添加资源名称:
修改 /packages/apps/Settings/res/xml/accessibility_settingsxml ,添加开关:
修改 /frameworks/base/core/java/android/provider/Settingsjava ,在内部类 Secure 中添加字段:
修改文件 /frameworks/base/packages/SettingsProvider/res/values/defaultsxml ,添加默认开关:
修改文件 /packages/apps/Settings/src/com/android/settings/accessibility/AccessibilitySettingsjava , 修改部分基本和 Large text 的相同,diff后的试图如下,也可以根据下面提供修改前和修改后的文件,可以使用 diff 工具对比查看。
diff后的文件对比试图
AccessibilitySettings修改前 AccessibilitySettings修改后
修改 /frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarjava ,添加变量:
在recent键长点击处添加开关控制:
使用 mmm 命令针对涉及的模块进行打包。
使用 make snod 命令生成 systemimg 。
两次的结合完整的解决了导航栏的隐藏与浮现以及功能控制。
刷机需谨慎!刷机需谨慎!刷机需谨慎!如若刷机请提前备份数据!使用导航栏,可以方便快捷地将带入主屏幕、回到上级界面、退出应用程序或查看最近使用的程序。
打开设置,点击系统 > 系统导航 > 导航栏,选择需要的导航栏组合。
隐藏或调出导航栏:可以在导航栏界面打开导航栏可隐藏开关。打开后,点击导航栏上的“﹀”图标,即可隐藏导航栏;隐藏后,从屏幕底端向上滑动,即可重新调出导航栏。
返回键:点击返回上级界面或退出应用程序。在文字输入界面,点击关闭屏幕键盘。
主屏键:点击返回主屏幕。长按时,出现语音助手图标后上滑即可打开语音助手功能。
最近键:点击打开最近使用的应用程序列表。长按时,可以进入分屏模式。
下拉通知键:点击可快速打开通知面板。在一个普通类中(非继承Activity等),点击截界面上某一按钮隐藏底部导航栏(Back、Home、多任务切换),再次点击让其出现;
实现:隐藏viewsetSystemUiVisibility(
ViewSYSTEM_UI_FLAG_LAYOUT_STABLE
| ViewSYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| ViewSYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| ViewSYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
| ViewSYSTEM_UI_FLAG_FULLSCREEN // hide status bar
| UtilsSYSTEM_UI_FLAG_IMMERSIVE);
显示viewsetSystemUiVisibility(
ViewSYSTEM_UI_FLAG_LAYOUT_STABLE
| ViewSYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| ViewSYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
而且加了界面touch监听,在隐藏模式下,单击屏幕不让导航栏出现;可以使用radiogroup做底部导航
radiogroup的属性自定义,并设置android:button="@null"
<xml version="10" encoding="utf-8">
<LinearLayout xmlns:android=">
在系统设置里找到显示,进入显示里面就能找到导航的开关。
华为技术有限公司,成立于1987年,总部位于广东省深圳市龙岗区。华为是全球领先的信息与通信技术(ICT)解决方案供应商,专注于ICT领域,坚持稳健经营、持续创新、开放合作,在电信运营商、企业、终端和云计算等领域构筑了端到端的解决方案优势,为运营商客户、企业客户和消费者提供有竞争力的ICT解决方案、产品和服务,并致力于实现未来信息社会、构建更美好的全联接世界。2013年,华为首超全球第一大电信设备商爱立信,排名《财富》世界500强第315位。
华为的产品和解决方案已经应用于全球170多个国家,服务全球运营商50强中的45家及全球1/3的人口。2017年6月6日,《2017年BrandZ最具价值全球品牌100强》公布,华为名列第49位。2019年7月22日美国《财富》杂志发布了最新一期的世界500强名单 ,华为排名第61位。 2018年《中国500最具价值品牌》华为居第六位。12月18日,《2018世界品牌500强》揭晓,华为排名第58位。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)