实现安卓设备虚拟按键隐藏和显示的方法和系统技术方案

技术编号:13156374 阅读:93 留言:0更新日期:2016-05-09 18:51
本发明专利技术公开了一种实现安卓设备虚拟按键隐藏和显示的方法,其包括以下步骤:步骤S1、将View类的通用属性进行优化组合,封装成三种样式的函数接口;步骤S2、创建一个提供三种样式的函数接口的虚拟按键显示服务,运行于系统的进程中;步骤S3、重写窗口界面类的requestFeature(int flag)方法;步骤S4、在窗口界面刷新时,调用所述重写的requestFeature(int flag)方法,并传递不同的函数参数。本发明专利技术还公开了包括函数接口封装单元、创建服务单元、重写单元和调用单元四部分结构的实现安卓设备虚拟按键隐藏和显示的系统。本发明专利技术可灵活调用封装的函数接口,实现界面窗口对虚拟按键的灵活控制,同时能最优代码结构,减少代码冗余,提供开发效率。

【技术实现步骤摘要】

本专利技术涉及移动终端显示
,尤其涉及一种方便实现安卓设备虚拟按键隐藏和显示的方法和系统
技术介绍
随着移动互联网的飞速发展,各种安卓设备层出不穷,个性化,差异化成为这些设备追求的亮点,软件的炫酷也是买点之一,所以很多设备软件追求界面的个性化,如对虚拟按键的处理,有时候隐藏,有时显示,也是一个重要的软件特征。目前实现虚拟按键隐藏或显示的做法是,在需要的界面窗口添加一些窗口属性,这些属性如:View.SYSTEM_UI_FLAG_HIDE_NAVIGAT1NView.YSTEM_UI_FLAG_L0ff_PR0FILEView.SYSTEM_UI_FLAG_LAYOUT_STABLEView.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGAT1NView.SYSTEM_UI_FLAG_LAYOUT_FULLSCREENView.SYSTEM_UI_FLAG_HIDE_NAVIGAT1NView.SYSTEM_UI_FLAG_FULLSCREEN View.SYSTEM_UI_FLAG_IMMERSIVE_STICKYView.SYSTEM_UI_FLAG_IMMERSIVE_STICKYView.SYSTEM_UI_FLAG_VISIBLE等等。需要隐藏虚拟按键的窗口通过View.setSystemUiVisibility()方法设置,将这些属性的不同组合作为该函数参数。不需要的页面就不调用该方法设置这些属性,市面上的各应用目前也是这种静态的方法实现虚拟按键隐藏。这种安卓原生的做法降低了开发效率,各个模块负责人单独实现自己页面窗口虚拟按键的隐藏,代码冗余大,单个页面窗口属性一旦设定就不能动态地改变,导致虚拟按键不能够灵活的隐藏和出现。
技术实现思路
针对现有技术的不足,本专利技术的目的之一在于实现安卓设备虚拟按键隐藏和显示的方法,其可灵活调用封装的函数接口,实现界面窗口对虚拟按键的灵活控制,提供开发效率。为了实现上述目的,本专利技术采取如下技术方案:一种实现安卓设备虚拟按键隐藏和显示的方法,其包括以下步骤:步骤S1、将View类的通用属性进行优化组合,封装成虚拟按键的完全隐藏、半隐藏以及完全显示三种样式的函数接口,每种样式的函数接口带有一个相应的函数参数;步骤S2、创建一个提供三种样式的函数接口的虚拟按键显示服务,运行于系统的进程中; 步骤S3、根据所述函数接口重写窗口界面类的requestFeature(int flag)方法; 步骤S4、在窗口界面刷新时,调用所述重写的requestFeature(int flag)方法,并传递不同的函数参数。优选地,所述函数接口的封装属性为共有属性。优选地,所述View类的通用属性进行优化组合为根据View类的完全隐藏属性、半隐藏属性以及完全显示属性进行优化组合,优化组合封装的接口分别是虚拟按键的完全隐藏函数接口hide(),半隐藏函数接口partyHideO和完全显示函数接口fullDisplayO。优选地,所述步骤S2将所述函数接口实现一个虚拟按键显示服务,运行于系统的进程中具体包括:根据所述函数接口创建一个虚拟按键显示服务,该虚拟按键显示服务在系统启动完毕后,由ActivityManagerService服务启动并运行于系统进程中。为了解决上述同样的技术问题,本专利技术还提供了一种实现安卓设备虚拟按键隐藏和显示的系统,其包括:函数接口封装单元,用于将View类的通用属性进行优化组合,封装成虚拟按键的完全隐藏、半隐藏以及完全显示三种样式的函数接口,每种样式的函数接口带有一个相应的函数参数;创建服务单元,用于将所述函数接口实现一个虚拟按键显示服务,运行于系统的进程中;重写单元,用于根据所述函数接口重写窗口界面类的requestFeature(int flag)方法;调用单元,用于在窗口界面刷新时,调用所述重写的requestFeature(int flag)方法,并传递不同的函数参数。优选地,所述函数接口的封装属性为共有属性。优选地,所述View类的通用属性进行优化组合为根据View类的完全隐藏属性、半隐藏属性以及完全显示属性进行优化组合,优化组合封装的接口分别是虚拟按键的完全隐藏函数接口hide(),半隐藏函数接口partyHideO和完全显示函数接口fullDisplayO。优选地,所述创建服务单元将所述函数接口实现一个虚拟按键显示服务,运行于系统的进程中具体包括:根据所述函数接口创建一个虚拟按键显示服务,该虚拟按键显示服务在系统启动完毕后,由ActivityManagerService服务启动并运行于系统进程中。本专利技术阐述的实现安卓设备虚拟按键隐藏和显示的方法和系统,其有益效果在于:1、将View类的通用属性进行优化组合,组装成完全隐藏、半隐藏和完全显示三种统一样式的函数接口,并以服务的形式运行于系统中,供各个模块界面窗口灵活调用,实现了动态隐藏和显示虚拟按键。2、能最优代码结构,减少代码冗余,提高开放效率。【附图说明】图1是本专利技术实现安卓设备虚拟按键隐藏和显示的方法的流程图;图2是本专利技术实现安卓设备虚拟按键隐藏和显示的系统的结构框图。【具体实施方式】下面结合附图与具体实施例来对本专利技术作进一步描述。本专利技术主要是优化View类的组合方式,封装成虚拟按键的完全隐藏、半隐藏和完全显示三种样式的函数接口。在界面窗口加载时,回调onCreateO方法,在该方法中灵活调用封装的函数接口,即可实现该界面窗口对虚拟按键的灵活控制,实现自己的窗口对虚拟按键的灵活处理,具体实施过程详见实施例1和实施例2。实施例一请参照图1,本专利技术公开的一种方便实现安卓设备虚拟按键隐藏和显示的方法,其包括以下步骤:步骤S1、将View类的通用(或常用)属性进行优化组合,封装成虚拟按键的完全隐藏、半隐藏以及完全显示三种样式的函数接口,每种样式的函数接口带有一个相应的函数参数;步骤S2、创建一个提供三种样式的函数接口的虚拟按键显示服务,运行于系统的进程中;步骤S3、根据所述函数接口重写窗口界面类的requestFeature(int flag)方法;步骤S4、在窗口界面刷新时,调用所述重写的requestFeature(int flag)方法,并传递不同的函数参数。其中,步骤S1中,所谓的通用属性是指View类实现的功能进行分类,然后将相同属性的View类组合在一起组装成一个函数接口,在窗口界面通过requestFeature(int flag)方法调用该函数接口即可实现虚拟按键的相应功能操作,通用属性包括完全隐藏属性、半隐藏属性以及完全显示属性三种属性,依此优化组合组装的接口为hide()、partyHide()和fullDisplayO,分别代表虚拟按键的完全隐藏函数接口,半隐藏函数接口和完全显示函数接口,并且每种函数接口的组装属性均为共有(public)属性。例如:完全隐藏虚拟按键的组合如下,其是将具有完全隐藏属性的View进当前第1页1 2 本文档来自技高网
...
实现安卓设备虚拟按键隐藏和显示的方法和系统

【技术保护点】
一种实现安卓设备虚拟按键隐藏和显示的方法,其特征在于,其包括以下步骤:步骤S1、将View类的通用属性进行优化组合,封装成虚拟按键的完全隐藏、半隐藏以及完全显示三种样式的函数接口,每种样式的函数接口带有一个相应的函数参数;步骤S2、创建一个提供三种样式的函数接口的虚拟按键显示服务,运行于系统的进程中;步骤S3、根据所述函数接口重写窗口界面类的requestFeature(int flag)方法;步骤S4、在窗口界面刷新时,调用所述重写的requestFeature(int flag)方法,并传递不同的函数参数。

【技术特征摘要】

【专利技术属性】
技术研发人员:钟凡杨海晓
申请(专利权)人:上海斐讯数据通信技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1