基于Android的窗口控制栏显示方法及装置的制造方法

文档序号:9843842阅读:163来源:国知局
基于Android的窗口控制栏显示方法及装置的制造方法
【技术领域】
[0001]本发明涉及安卓系统显示领域,尤其涉及一种安卓窗口控制栏方法及装置。
【背景技术】
[0002]随着移动设备的普及,基于Android的大尺寸的平板电脑和盒子等产品越来越多,用户希望可以更方便的在大屏幕上操作应用程序窗口,特别是在商务办公等应用场景下,但目前Android系统操作应用,只能点击后退,或者home键退出,没有最小化,最大化,关闭,置顶等操作;一些方案有部分支持,但不能将操作界面合成在所有应用窗口上,界面不友好。更合理,更友好的操作方式,将能够极大提升用户体验,改善产品质量。

【发明内容】

[0003]为此,需要提供一种能够为Android系统提供窗口化方案的方法,解决用户使用Andr ο i d系统不够方便的问题。
[0004]为实现上述目的,发明人提供了一种基于Android的窗口控制栏显示方法,包括如下步骤,创建窗口视图,判断所述窗口视图的窗口类型;
[0005]若为子窗口类型或系统窗口类型,则不进行添加控制栏;
[0006]若为应用窗口类型,则进行添加控制栏,创建控制栏视图,使用LinearLayout容器视图将控制栏视图与应用窗口视图合成为一个视图,然后添加到根视图DecorView中;
[0007]为控制栏添加按钮,所述按钮用于实现预设功能。
[0008]具体地,所述按钮包括最小化按钮、关闭按钮或缩放切换按钮,所述最小化按钮用于将应用窗口后台运行,所述关闭按钮用于将应用窗口对应应用程序关闭,所述缩放切换按钮用于改变应用窗口显示的大小。
[0009]进一步地,还包括步骤,当接收到触摸信号时,计算判断该触摸的触点是否在控制栏内,若判断为是,则对触摸信号进行事件响应,若否则不进行事件响应;
[0010]所述触摸信号包括单击、双击或拖动。
[0011]进一步地,还包括步骤,当接收到触摸信号时,计算判断该触摸的触点是否在应用程序显示范围,若判断为是,则将对应的应用程序窗口显示在最前。
[0012]一种基于Android的窗口控制栏显示装置,包括创建判断模块、控制栏创建模块、按钮创建模块,
[0013]所述创建判断模块用于创建窗口视图,还用于判断窗口类型;
[0014]若为子窗口类型或系统窗口类型,则不使能控制栏创建模块;
[0015]若为应用窗口类型,则使能控制栏创建模块;
[0016]所述控制栏创建模块用于添加控制栏,创建控制栏视图,使用LinearLayout容器视图将控制栏视图与应用窗口视图合成为一个视图,然后添加到根视图DecorView中;
[0017]所述按钮创建模块用于为控制栏添加按钮,所述按钮用于实现预设功能。
[0018]具体地,所述按钮包括最小化按钮、关闭按钮或缩放切换按钮,所述最小化按钮用于将应用窗口后台运行,所述关闭按钮用于将应用窗口对应应用程序关闭,所述缩放切换按钮用于改变应用窗口显示的大小。
[0019]进一步地,还包括触摸响应模块,所述触摸响应模块用于在接收到触摸信号时,计算判断该触摸的触点是否在控制栏内,若判断为是,则对触摸信号进行事件响应,若否则不进行事件响应;
[0020]所述触摸信号包括单击、双击或拖动。
[0021]进一步地,所述触摸响应模块还用于在接收到触摸信号时,计算判断该触摸的触点是否在应用程序显示范围,若判断为是,则将对应的应用程序窗口显示在最前。
[0022]定义:
[0023]所述应用窗口类型为应用程序直接创建的窗口,在Android系统中每个应用窗口都有对应的Activity;
[0024]所述子窗口类型为与应用窗口类型关联并认定后者为父窗的窗口类型,子窗口类型一般为PopupWindow,SurfaceView ,Dialog;
[0025]所述系统窗口类型为系统级权限才可创建的窗口,一般有
[0026]TYPE_STATUS_BAR
[0027]TYPE_SEARCH_BAR
[0028]TYPE_SYSTEM_ALERT
[0029]TYPE_KEYGUARD
[0030]TYPE_T0AST 等几类。
[0031]区别于现有技术,上述技术方案通过为安卓系统应用程序添加控制栏,为控制栏添加功能按钮,达到了提升用户体验,改善产品质量的技术效果,解决了用户使用Android系统不够方便的问题。
【附图说明】
[0032]图1为本发明【具体实施方式】所述的方法流程图;
[0033]图2为本发明【具体实施方式】所述的装置模块图;
[0034]图3为本发明【具体实施方式】所述的系统创建应用程序窗口视图过程图;
[0035]图4为本发明【具体实施方式】所述的创建窗口视图流程框图;
[0036]图5为本发明【具体实施方式】所述的控制栏显示示意图;
[0037]图6为本发明【具体实施方式】所述的应用视图位置调整示意图;
[0038]图7为本发明【具体实施方式】所述的应用视图比例切换示意图;
[0039]图8为本发明【具体实施方式】所述的应用视图一键全屏示意图。
[0040]附图标记说明:
[0041 ]200、创建判断模块;
[0042]202、控制栏创建模块;
[0043]204、按钮创建模块;
[0044]206、触摸响应模块。
【具体实施方式】
[0045]为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
[0046]请参阅图1,为本发明一种基于Android的窗口控制栏显示方法,在图1所示的某些实施例中,包括如下步骤,步骤S100:创建窗口视图,判断所述窗口视图的窗口类型;
[0047]步骤S102:若为子窗口类型或系统窗口类型,则不进行添加控制栏;
[0048]若为应用窗口类型,则进行添加控制栏,创建控制栏视图,使用LinearLayout容器视图将控制栏视图与应用窗口视图合成为一个视图,然后添加到根视图DecorView中;
[0049]步骤S104为控制栏添加按钮,所述按钮用于实现预设功能。
[0050]A、视图对象类介绍。应用程序窗口内部所包含的视图对象的实际类型为DecorV i ew。DecorV i ew类继承了 Vi ew类,是作为容器(Vi ewGroup)来使用的,其中,Window类位于/frameworks/base/core/ java/android/view/ffindow.java。该类是一个抽象类,提供了绘制窗口的一组通用API。可以将之理解为一个载体,各种View在这个载体上显示。
[0051 ] PhoneWindow类位于/frameworks/pol i cies/base/phone/com/android/interna I/policy/ imp I/PhoneWindow.java。该类继承于 Window 类,是 Window 类的具体实现,即我们可以通过该类具体去绘制窗口。并且,该类内部包含了一个DecorView对象,该DectorView对象是所有应用窗口(Activity界面)的根View。简而言之,PhoneWindow类是把一个FrameLayout类即DecorView对象进行一定的包装,将它作为应用窗口的根View,并提供一组通用的窗口操作接口。
[0052]DecorView类是PhoneWindow类的内部类。该类是一个FrameLayout的子类,并且是PhoneWindow的子类,该类就是对普通的FrameLayout进行功能的扩展,更确切点可以说是修饰(Decor的英文全称是Decorat1n,即“修饰”的意思),例如添加TitleBar(标题栏),以及TitleBar上的滚动条等。最重要的一点是,它是所有应用窗口的根View。
[0053]B、Android框架中定义了几类窗口类型,其定义type放在WindowManager中,宏观来看可以大致分为三个类型。
[0054]I)应用窗口:
[0055]顾名思义应用窗口就是应用程序创建的窗口,每个窗口都有对应的Activity,是最常见的窗口。
[0056]2)子窗口
[0057]子窗口要求其必须需要跟一个窗口关联起来并且认为其为父窗口,比如父窗口大多为应用窗口,子窗口类型一般为PopupWindow,SurfaceView,Dialog。
[0058]3)系统窗口
[0059]这类窗口是系统为特殊的意图创建的一类窗口,应用程序无法无法创建系统窗口,因为创建此类窗口需要特殊的权限。常见的系统窗口有以下几类:
[0060]TYPE_STATUS_BAR[0061 ] TYPE_SEARCH_BAR
[0062]TYPE_
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1