The present invention provides a way to control the hidden and display of the intelligent terminal navigation bar by registering a display or hiding the navigation bar in a module operating the navigation bar in the SystemUi.apk, then getting the status of the current system navigation bar after receiving the broadcast, and then using the WindowManager (window manager) brought by the system. ) add it to the system window; after receiving the broadcast of the hidden navigation bar, use the WindowManager (window manager) to remove the previously added navigation bar to achieve the purpose of hiding the navigation bar.
【技术实现步骤摘要】
一种控制智能终端导航栏隐藏及显示的方法
本专利技术属于智能终端
,具体涉及一种控制智能终端导航栏隐藏及显示的方法。
技术介绍
目前,触屏智能按键主要有两种形式,一种是使用实体键,一种是虚拟键。对于前者,市面上的实体键又分为两种,一种是物理按键,例如,苹果的home(主页)键就是典型的物理按键;一种是触控按键,常见的手机有三星,小米,如小米4的底部就采用触控按键实现,包含最近任务,主页和返回键三个触控按键。物理按键通常可以点亮屏幕,而触控按键一般则很难实现。物理按键手感也较虚拟按键更好一些,但是经过长期使用后,容易出现按键使用失效或不灵敏的情况。虚拟键本身就是触摸屏的一部分,通过软件设置,可以动态调整各个虚拟键的位置,并且用户可以通过系统暴露的菜单对其进行隐藏或者显示,使用起来并不比实体键复杂,使用习惯后,虚拟键会比实体键有更好的用户体验。使用虚拟键的另一个好处是只要触摸屏没有损坏,用户就可以一直使用。所以现在越来越多的手机厂商开始选择虚拟键,因为如果虚拟键设计的合理,好用,用户体验不仅不会下降,整个手机的成本也会更有优势。而虚拟键的载体一般都是通过虚拟导航栏来实现,有的厂商允许对虚拟导航栏进行编辑,由用户决定导航栏都放那些按键,以及它们的位置。但是很少有厂商考虑对导航栏的动态控制,目前市场上有的厂商虽然实现了可以通过菜单进行控制,但并不是很方便,如果想隐藏或者显示,只能操作设置菜单。还有一些应用做了一些处理,在Android4.4上借助系统的沉浸模式,可以根据不同的场景,当单击手机屏幕时,可以动态显示或者隐藏导航栏,但这些都是应用程序级别的修改,对于 ...
【技术保护点】
1.一种控制智能终端导航栏隐藏及显示的方法,包含如下步骤:S301、开始;S302、系统开机,进入桌面或某个应用中,导航栏默认为开启状态;S303、长按当前界面的空白区域,当前界面接收到长按事件;S304、长按事件传递到基类视图中,在基类视图中处理长按事件;S305、判断长按区域是否注册了长按事件监听器;如果判断结果为是,则执行S306;如果判断结果为否,则执行S308;S306、响应长按事件的监听器,触发回调函数,执行相应的功能;S307、本界面消费了长按事件,无法再继续操作导航栏,执行S3013;S308、在基类View的相关方法中处理长按事件;S309、创建一个自定义的广播消息,并将其发送出去;S3010、systemUI中的PhoneStatusBar模块接收并处理此广播消息;S3011、进入导航栏的显示和隐藏子流程,处理广播消息,根据当前导航栏状态,决定是显示或隐藏;S3012、完成导航栏的显示和隐藏功能;S3013、结束长按事件的处理并退出。
【技术特征摘要】
1.一种控制智能终端导航栏隐藏及显示的方法,包含如下步骤:S301、开始;S302、系统开机,进入桌面或某个应用中,导航栏默认为开启状态;S303、长按当前界面的空白区域,当前界面接收到长按事件;S304、长按事件传递到基类视图中,在基类视图中处理长按事件;S305、判断长按区域是否注册了长按事件监听器;如果判断结果为是,则执行S306;如果判断结果为否,则执行S308;S306、响应长按事件的监听器,触发回调函数,执行相应的功能;S307、本界面消费了长按事件,无法再继续操作导航栏,执行S3013;S308、在基类View的相关方法中处理长按事件;S309、创建一个自定义的广播消息,并将其发送出去;S3010、systemUI中的PhoneStatusBar模块接收并处理此广播消息;S3011、进入导航栏的显示和隐藏子流程,处理广播消息,根据当前导航栏状态,决定是显示或隐藏;S3012、完成导航栏的显示和隐藏功能;S3013、结束长按事件的处理并退出。2.根据权利要求1所述的控制智能终端导航栏隐藏及显示的方法,其特征在于:通过在PhoneStatusBar模块中的start()方法中调用addNavigationBar()方式来实现添加导航栏。3.根据权利要求1或2所述的控制智能终端导航栏隐藏及显示的方法,其特征在于:在基类视图中的performLongClick()方法中处理长按事件。4.根据权利要求1-3任一所述的控制智能终端导航栏隐藏及显示的方法,其特征在于:基类View中的performLongClick()判断存储监听器的类信息ListenerInfo是否为空,如果不为空,并且它的长按事件监听器mOnLongClickListener也不为空,则执行监听器的回调方法onLongClick,来处理长按事件对应的功能。5.根据权利要求1-4任一所述的控制智能终端导航栏隐藏及显示的方法,其特征在于:如果注册了监听器,存储监听器的类信息ListenerInfo不为空,且事件监听器mOnLongClickListener也不为空,则执行监听器的回调方法onLongClick,处理长按事件对应的功能。6.根据权利要求1-5任一所述的控制智能终端导航栏隐藏及显示的方法,其特征在于:如果应用没有注册长按事件的监听器,如果存储监听器的类信息ListenerInfo为空,或者事件监听器mOnLongClickListener为空,则长按事件不会被消费掉,继续往下游传递。7.根据权利要求1-6任一所述的控制智能终端导航栏隐藏及显示的方法,其特征在...
【专利技术属性】
技术研发人员:肖剑锋,
申请(专利权)人:竞技世界北京网络技术有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。