CN109104628B - 安卓电视的焦点前景生成方法、存储介质、设备及系统 - Google Patents
安卓电视的焦点前景生成方法、存储介质、设备及系统 Download PDFInfo
- Publication number
- CN109104628B CN109104628B CN201710475836.0A CN201710475836A CN109104628B CN 109104628 B CN109104628 B CN 109104628B CN 201710475836 A CN201710475836 A CN 201710475836A CN 109104628 B CN109104628 B CN 109104628B
- Authority
- CN
- China
- Prior art keywords
- focus
- drawable
- foreground
- view
- focus foreground
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000006378 damage Effects 0.000 claims abstract description 58
- 230000000694 effects Effects 0.000 claims abstract description 51
- 238000006073 displacement reaction Methods 0.000 claims abstract description 11
- 230000007246 mechanism Effects 0.000 claims abstract description 11
- 230000008859 change Effects 0.000 claims abstract description 7
- 238000012544 monitoring process Methods 0.000 claims abstract description 7
- 238000004590 computer program Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 10
- 238000010276 construction Methods 0.000 claims description 9
- 230000006978 adaptation Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/485—End-user interface for client configuration
- H04N21/4858—End-user interface for client configuration for modifying screen layout parameters, e.g. fonts, size of the windows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04804—Transparency, e.g. transparent or translucent windows
Abstract
本发明公开了一种安卓电视的焦点前景生成方法、存储介质、设备及系统,涉及安卓电视的焦点特效技术领域。该方法包括:构建焦点前景Drawable并对其属性管理类、资源类型进行设置;在视图组绘制其下视图之前完成焦点前景Drawable的绘制并置顶;实时监听焦点视图的变化情况,当焦点视图不在焦点前景正下方时,将焦点前景设为不可见,并在完成焦点前景Drawable的缩放、位移及透明度调节的特效后将其设置为可见;当焦点视图是在焦点前景的正下方时,将焦点前景设置为可见;最后,当视图组处于销毁阶段时,通过消息机制Handler对焦点前景进行销毁。本发明能解决现有技术中内存消耗过高、焦点前景失效、图片失真以及挤占其他视图空间的问题。
Description
技术领域
本发明涉及安卓电视的焦点特效技术领域,具体来讲是一种安卓电视的焦点前景生成方法、存储介质、设备及系统。
背景技术
随着智能电视及安卓操作系统的快速发展,安卓电视已日益普及,并受到越来越多人的追捧。所谓安卓电视,顾名思义是搭载了安卓操作系统(Android)的电视,使得电视智能化,能让电视机实现网页浏览、视频电影观看、聊天办公游戏等。
为了便于读者理解,下面先对相关术语进行简单说明:
View(视图):它是安卓系统应用层界面可视化的基本组件单元;
ViewGroup(视图组):它是安卓系统可视化组件View的基本容器单元,可容纳多个视图View;
焦点(Focus)特效:指安卓系统在接收到遥控器或手机等设备的按键信号源后,处理对应指令做出UI层面的显示特效,例如缩放、偏移、背景切换等;
焦点视图(Focus View):指当前获得焦点的视图;
DecorView(窗口界面视图):是指安卓应用整个窗口界面的最顶层视图,其只有一个子元素为LinearLayout(线性布局视图),它代表着整个窗口界面,包含通知栏、标题栏、内容显示栏等三大区域;
UI(User Interface):泛指用户的操作界面,UI设计主要指界面的样式,美观程度;
Bitmap(位图):是标准格式图形文件,它将图像定义为由点(像素)组成,每个点可以由多种色彩表示,包括2、4、8、16、24和32位色彩;
Drawable:是安卓应用程序用于存放安卓应用程序本地图片、动画文件等资源的文件夹;
.9.png(.9图):是安卓应用程序开发里面的一种特殊的图片,这种格式的图片通过ADT(Android Development Tools,安卓开发工具)自带的编辑工具生成,使用九宫格切分的方法,使图片支持在安卓环境下的自适应展示;
画布(Canvas):安卓系统中绘制视图的图层单元,可通过重置方式重新铺设图层;
绘制(onDraw):指安卓系统在绘制视图View的过程;
属性动画(Property Animation):安卓系统中,属性动画可以作用在视图的属性上,对属性进行修改,而且不要求对应的属性一定是有显示效果;
对象动画(ObjectAnimator):指属性动画的一个实现类,可根据对象(Object)的具体属性进行动画设置;
矩形坐标(Rect):指安卓系统中用于保存视图View或Drawable坐标信息的类。
安卓电视在UI交互过程中,为突出焦点的移动和吸引用户注意力通常会给当前获得焦点的视图设置一系列的特效。其中,常见的一种焦点特效就是添加焦点前景。如图1所示,所谓的焦点前景是一个边缘地带是彩色荧光、中间是带透明通道的矩形,其覆盖在焦点视图的上层,而焦点视图则在周边视图(左视图、右视图)的上层。由于焦点前景本身是一张位图资源,但在安卓系统上位图属于静态资源,而静态资源本身无法通过系统API(Application Programming Interface,应用编程接口)完成诸如偏移(Translate)、缩放(Scale)、调节透明度(Alpha)等动画特效,因此,现有技术中为了实现焦点前景的特效,通常将视图作为位图的承载媒介,通过作用于视图上的偏移、缩放、调节透明度等特效来间接实现位图的特效操作。这种以视图为载体结合位图来作为焦点前景的方式是目前已经公开的唯一实现焦点前景的方式。
虽然现有的以视图为载体结合位图的方式简单易用具有许多优点,但在实际应用中,该方式依然存在以下缺陷:
(1)由于现有方式中是以视图为载体作为焦点前景,而视图本身的内存资源的占用加上位图的内存消耗,会导致在小内存(如RAM<1GB)的设备上容易出现卡顿问题。
(2)由于是以视图为载体作为焦点前景,一旦视图被回收或销毁,则存在焦点前景失效不可见的问题,需要重新创建。
(3)由于是以视图为载体作为焦点前景,因此在调节焦点前景透明度时会引发图片失真的问题。
(4)焦点前景的载体视图存在挤占其他视图空间大小的问题,且一旦视图组重绘,所有视图的层级结构会发生重置,焦点前景就会存在被焦点视图(FocusView)覆盖的现象,需要做层级偏移处理。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种安卓电视的焦点前景生成方法、存储介质、设备及系统,能解决现有技术中内存消耗过高、焦点前景失效不可见、图片失真以及挤占其他视图空间大小的问题。
为达到以上目的,本发明采取的技术方案是:提供一种安卓电视的焦点前景生成方法,该方法包括以下步骤:
S1、构建焦点前景Drawable,并对焦点前景Drawable的属性管理类、资源类型进行设置,使得焦点前景Drawable具有大小位置可调、屏幕适配不失真、透明度可调的特性;
S2、当视图组绘制其下视图之前,完成焦点前景Drawable的绘制,并将绘制的焦点前景Drawable的空间位置置顶;
S3、实时监听焦点视图的变化情况,当判定新获得焦点的焦点视图不是在焦点前景Drawable的正下方时,将绘制的焦点前景Drawable设置为不可见,转入步骤S4;当判定新获得焦点的焦点视图是在焦点前景Drawable的正下方时,将绘制的焦点前景Drawable设置为可见,转入步骤S5;
S4、利用设置好的焦点前景Drawable的属性管理类完成焦点前景Drawable的缩放、位移及透明度调节的特效,并将焦点前景Drawable设置为可见;
S5、判断当前视图组是否处于销毁阶段,若是,转入步骤S6;若否,返回步骤S3;
S6、通过视图组的消息机制Handler对当前焦点前景Drawable进行销毁操作。
在上述技术方案的基础上,步骤S1具体包括以下流程:
S101、构建焦点前景Drawable,使得焦点前景是以Drawable为载体;S102、对焦点前景Drawable的属性管理类进行设置,使其设置为:采用矩形坐标来保存焦点前景Drawable的大小及空间位置信息;并通过属性动画完成焦点前景Drawable的缩放、位移、透明度调节的操作;S103、将焦点前景Drawable的资源类型设置为带透明通道的具备ARGB特性的.9.png类型。
在上述技术方案的基础上,步骤S2中,将绘制的焦点前景Drawable的空间位置置顶的具体流程为:
在完成焦点前景Drawable的绘制后,保存当前画布状态;待视图组下所有视图完成绘制后重置画布状态,将画布的目标状态重置为焦点前景Drawable绘制完成后的状态,使得绘制的焦点前景Drawable的空间位置置于所有视图之上。
在上述技术方案的基础上,步骤S3具体包括以下流程:
为窗口界面视图设置一个全局焦点监听器;一旦全局焦点监听器监听到内部焦点发生改变时,判断获得焦点的焦点视图的父视图的内存指针是否匹配当前焦点前景Drawable所在的视图组的内存地址;
如果不匹配,则判定新获得焦点的焦点视图不是在焦点前景Drawable下方,将绘制的焦点前景Drawable设置为不可见,转入步骤S4;
如果匹配,则判定新获得焦点的焦点视图是在焦点前景Drawable下方,将绘制的焦点前景Drawable设置为可见。
本发明还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述安卓电视的焦点前景生成方法的步骤。
本发明还提供一种安卓电视的焦点前景生成设备,包括存储器、处理器及存储在存储器上并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述安卓电视的焦点前景生成方法的步骤。
本发明还提供一种安卓电视的焦点前景生成系统,该系统包括构建模块、绘制与置顶模块、可见性控制模块、特效实现模块、销毁判断模块和销毁模块;
所述构建模块用于:构建焦点前景Drawable,并对焦点前景Drawable的属性管理类、资源类型进行设置,使得焦点前景Drawable具有大小位置可调、屏幕适配不失真、透明度可调的特性;向绘制与置顶模块发送绘制置顶信号;
所述绘制与置顶模块用于:收到绘制置顶信号后,在视图组绘制其下视图之前完成焦点前景Drawable的绘制,并将绘制的焦点前景Drawable的空间位置置顶;向可见性控制模块发送可见性控制信号;
所述可见性控制模块用于:收到可见性控制信号后,实时监听焦点视图的变化情况,当判定新获得焦点的焦点视图不是在焦点前景Drawable的正下方时,将绘制的焦点前景Drawable设置为不可见,向特效实现模块发送特效实现信号;当判定新获得焦点的焦点视图是在焦点前景Drawable的正下方时,将绘制的焦点前景Drawable设置为可见,向销毁判断模块发送销毁判断信号;
所述特效实现模块用于:收到特效实现信号后,利用设置好的焦点前景Drawable的属性管理类完成焦点前景Drawable的缩放、位移及透明度调节的特效,并将焦点前景Drawable设置为可见;向销毁判断模块发送销毁判断信号;
所述销毁判断模块用于:收到销毁判断信号后,判断当前视图组是否处于销毁阶段,若是,向销毁模块发送销毁信号;若否,向可见性控制模块发送可见性控制信号;
所述销毁模块用于:收到销毁信号后,通过视图组的消息机制Handler对当前焦点前景Drawable进行销毁操作。
在上述技术方案的基础上,所述构建模块包括焦点前景Drawable构建子模块、属性管理类设置子模块和资源类型设置子模块;
所述焦点前景Drawable构建子模块用于:构建焦点前景Drawable,使得焦点前景是以Drawable为载体;
所述属性管理类设置子模块用于:对焦点前景Drawable的属性管理类进行设置,使其设置为:采用矩形坐标来保存焦点前景Drawa ble的大小及空间位置信息;并通过属性动画完成焦点前景Drawable的缩放、位移、透明度调节的操作;
所述资源类型设置子模块用于:将焦点前景Drawable的资源类型设置为带透明通道的具备ARGB特性的.9.png类型。
在上述技术方案的基础上,所述绘制与置顶模块将绘制的焦点前景Drawable的空间位置置顶的具体流程为:在完成焦点前景Drawable的绘制后,保存当前画布状态;待视图组下所有视图完成绘制后重置画布状态,将画布的目标状态重置为焦点前景Drawable绘制完成后的状态,使绘制的焦点前景Drawable的空间位置置于所有视图之上。
在上述技术方案的基础上,所述可见性控制模块进行可见性控制的具体流程为:
为窗口界面视图设置一个全局焦点监听器;一旦全局焦点监听器监听到内部焦点发生改变时,判断获得焦点的焦点视图的父视图的内存指针是否匹配当前焦点前景Drawable所在的视图组的内存地址;
如果不匹配,则判定新获得焦点的焦点视图不是在焦点前景Drawable下方,将绘制的焦点前景Drawable设置为不可见,向特效实现模块发送特效实现信号;
如果匹配,则判定新获得焦点的焦点视图是在焦点前景Drawable下方,将绘制的焦点前景Drawable设置为可见,并向销毁判断模块发送销毁判断信号。
本发明的有益效果在于:
本发明中,使用Drawable取代视图作为焦点前景的载体,解决了现有技术中因采用视图作为载体而存在的资源消耗过高的问题;且使用Drawable作为焦点前景的载体,其不会挤占视图组中其他视图的空间位置,因此可有效解决使用视图作为焦点前景载体而导致的空间占位问题。另外,在实现焦点前景Drawable的销毁时,通过使用视图组的消息机制来间接控制焦点前景Drawable的销毁,从而模拟出焦点前景的生命周期属性,解决了现有技术中因使用视图作为焦点前景载体而导致的焦点前景销毁与创建的不可控问题。并且,通过设置焦点前景Drawable的属性管理类(Property)并结合属性动画来实现焦点前景特效(位移、缩放、透明度调节),解决了视图作为焦点前景载体在调节透明度时引发的图片失真问题。
附图说明
图1为焦点前景、焦点视图及周边视图的空间关系示意图;
图2为本发明实施例中安卓电视的焦点前景生成方法的流程图;
图3为本发明实施例中安卓电视的焦点前景生成设备的结构示意图;
图4为本发明实施例中安卓电视的焦点前景生成系统的结构框图;
图5为本发明实施例中构建模块的具体结构框图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。
参见图2所示,本发明实施例提供一种安卓电视的焦点前景生成方法,该方法包括以下步骤:
步骤S1、焦点前景Drawable的构建:构建焦点前景Drawable;并对焦点前景Drawable的属性管理类(Property)、资源类型进行设置,使得焦点前景Drawable具有大小位置可调、屏幕适配不失真、透明度可调的特性。
可以理解的是,本发明实施例中是以Drawable作为焦点前景,因此,所述焦点前景Drawable则是指作为焦点前景的Drawable。而为了使焦点前景Drawable能取代视图和位图,因此,需对焦点前景Drawable的属性管理类(Property)、资源类型进行设置,使得焦点前景Drawable具有以下特性:
1、焦点前景的大小和空间位置可动态设置。对于该特性,本方案通过设置属性管理类(Property)为采用矩形坐标(Rect)来保存焦点前景Drawable的大小及空间位置信息(即Property<Drawable,Rect>),来控制焦点前景Drawable的大小和空间位置;并且通过属性动画(Property Animation)完成焦点前景Drawable的缩放、位移、透明度的操作。
2、屏幕适配的同时不引发图像失真。对于该特性,本方案采用.9.png作为焦点前景Drawable的资源类型;
3、透明度可调节。对于该特性,本方案采用带透明通道的具备ARGB(Alpha、Red、Green、Blue,透明度、红、绿、蓝,为一种色彩模式,也就是RGB色彩模式附加上透明度Alpha通道)特性的.9.png作为焦点前景Drawable的资源类型。
基于上述设计原理,在一种实施方式中,步骤S1具体包括以下流程:
步骤S101、构建焦点前景Drawable,使得焦点前景是以Drawable为载体。
步骤S102、对焦点前景Drawable的属性管理类(Property)进行设置,使其设置为:采用矩形坐标(Rect)来保存焦点前景Drawable的大小及空间位置信息,并通过属性动画完成焦点前景Drawable的缩放、位移、透明度调节的操作。
举例来说,属性管理类(Property)中关于大小及空间位置设置的代码可如下:
Property<Drawable,Rect>BOUNDS_PROP=Property.of(Drawable.class,Rect.class,"bounds")
其中,BOUNDS_PROP为构建的焦点前景Drawable的空间属性。
步骤S103、将焦点前景Drawable的资源类型设置为带透明通道的具备ARGB特性的.9.png类型。
步骤S2、焦点前景Drawable的绘制与置顶:当视图组绘制其下视图之前,完成焦点前景Drawable的绘制,并将绘制的焦点前景Dr awable的空间位置置于所有视图之上,即置顶。
可以理解的是,焦点前景的绘制需在视图组绘制其下视图之前完成。同时,作为焦点前景,其空间位置的三维坐标值中的Z轴值必须大于视图组下所有视图的Z轴值,也就是说焦点前景需置顶。
为此,在视图组绘制其下视图之前,也就是在绘制函数onDraw执行之前需要先绘制焦点前景Drawable。本实施例中,通过在绘制函数onDraw之前执行的测量函数onMeasure中完成焦点前景Drawable的绘制。另外,在本实施例中,将绘制的焦点前景Drawable的空间位置置于所有视图之上时,采用倒置画布(Canvas)的方式来实现,具体来说,其实现流程包括:
在完成焦点前景Drawable的绘制后,保存当前画布状态;待视图组下所有视图完成绘制后重置画布状态,将画布的目标状态重置为焦点前景Drawable绘制完成后的状态(即之前保存的画布状态),使得绘制的焦点前景Drawable的空间位置置于所有视图之上。可以理解的是,完成画布重置后,画布所保存的焦点前景Drawable的图层顺序与视图组中视图的图层顺序发生了颠倒,从而达到了将Drawable的空间位置置于所有视图之上的效果,即置顶。
步骤S3、焦点前景Drawable的可见性控制:实时监听焦点视图的变化情况,当判定新获得焦点的焦点视图不是在焦点前景Drawable的正下方时,将绘制的焦点前景Drawable设置为不可见,转入步骤S4;当判定新获得焦点的焦点视图是在焦点前景Drawable的正下方时,将绘制的焦点前景Drawable设置为可见,转入步骤S5。
在一种实施方式中,步骤S3具体包括以下流程:
为窗口界面视图(DecorView)设置一个全局焦点监听器(FocusChangeListener);一旦全局焦点监听器监听到内部焦点发生改变时,判断获得焦点的焦点视图的父视图(getParentView)的内存指针是否匹配当前焦点前景Drawable所在的视图组的内存地址;
如果不匹配,则判定新获得焦点的焦点视图不是在焦点前景Drawable的正下方,将绘制的焦点前景Drawable设置为不可见,转入步骤S4;
如果匹配,则判定新获得焦点的焦点视图是在焦点前景Drawable的正下方,将绘制的焦点前景Drawable设置为可见。
步骤S4、焦点前景特效的实现:利用设置好的焦点前景Drawab le的属性管理类完成焦点前景Drawable的缩放、位移及透明度调节的特效,并将焦点前景Drawable设置为可见。
由于本方法中,焦点前景为非视图组件,因此焦点前景特效包含且仅包含三种特效:缩放、位移、透明度调节,这三种特效已经满足绝大数的特效场景。本实施例中,三种特效的具体实现都是采用属性动画完成的,而步骤S102中对焦点前景Drawable的属性管理类(Property)进行设置时,已经将其设置为通过属性动画完成焦点前景Drawable的缩放、位移、透明度的操作,因此,步骤S4中,可利用设置好的焦点前景Drawable的属性管理类完成焦点前景Drawable的缩放、位移及透明度调节的特效。具体来说,采用属性动画完成缩放、位移、透明度调节的特效的实现方式可如下:
1、缩放(Scale):使用属性动画的实现类——对象动画,来完成缩放动画。其实现为:ObjectAnimator.ofObject(Drawable,scaleX/scaleY,x/y);其中Drawable代表焦点前景,scaleX/scaleY代表横纵缩放属性,x/y代表缩放值。
2、位移(Translate):利用焦点前景Drawable的属性管理类以及属性动画的实现类——对象动画,来完成位移动画。其实现为:
Property<Drawable,Rect>BOUNDS_PROP=Property.of(Drawable.class,Rect.class,“bounds”);
ObjectAnimator.of(Drawable,BOUNDS_PRO,FoucsView.getRect());
其中,BOUNDS_PROP为构建的焦点前景Drawable的空间属性,Rect为大小及空间位置参数存储对象类型,FocusView为焦点视图,getRect()为获取焦点视图大小及空间位置函数。
3、透明度调节(Alpha):使用属性动画的实现类——对象动画,来完成缩放动画。其实现为:ObjectAnimator.ofObject(Drawable,alpha,value);其中Drawable代表焦点前景,alpha代表透明度属性,value代表透明值。
步骤S5、焦点前景Drawable的销毁判断:判断当前视图组是否处于销毁阶段(如视图组不再在界面窗口显示),若是,转入步骤S6;若否,返回步骤S3。
步骤S6、焦点前景Drawable的销毁:通过视图组的消息机制Handler对当前焦点前景Drawable进行销毁操作。
由于焦点前景的载体为Drawable,其本身不具备视图的生命周期属性,因此需要通过代理模式给它设置生命周期属性,尤其是销毁的属性。本方法实施例中,使用视图组的消息机制Handler来间接控制焦点前景Drawable的销毁,从而模拟出焦点前景的生命周期属性,解决了现有技术中因使用视图作为焦点前景的载体而导致焦点前景销毁与创建的不可控的问题。
具体来说,在一种实施方式中,步骤S6具体包括以下流程:
当视图组处于销毁阶段时,为焦点前景Drawable设置实现多线程的Runnable接口;利用设置的Runnable接口,通过视图组的消息机制Handler来移除焦点前景Drawable的资源,从而实现焦点前景Drawable的销毁。实际操作中,该实现代码可为:
(Handler.removeCallbacks(Drawable,Runnable))。
通过上述步骤的操作,就可以成功完成一个焦点前景的构建、绘制与置顶、焦点绑定、特效添加及销毁等一系列完整过程。整个操作中,使用Drawable取代视图作为焦点前景的载体,解决了现有技术中因采用视图作为载体而存在的资源消耗过高的问题;且使用Drawable作为焦点前景的载体,其不会挤占视图组中其他视图的空间位置,因此可有效解决使用视图作为焦点前景载体而导致的空间占位问题。另外,在实现焦点前景Drawable的销毁时,通过使用视图组的消息机制来间接控制焦点前景Drawable的销毁,从而模拟出焦点前景的生命周期属性,解决了现有技术中因使用视图作为焦点前景载体而导致的焦点前景销毁与创建的不可控问题。并且,通过设置焦点前景Drawable的属性管理类(Property)并结合属性动画来实现焦点前景特效(位移、缩放、透明度调节),解决了视图作为焦点前景载体在调节透明度时引发的图片失真问题。
对应上述的安卓电视的焦点前景生成方法,本发明实施例还提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可实现上述各实施例中的安卓电视的焦点前景生成方法的步骤。需要说明的是,所述存储介质包括U盘、移动硬盘、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、磁碟或者光盘等各种可以存储程序代码的介质。
另外,参见图3所示,对应上述的安卓电视的焦点前景生成方法,本发明实施例还提供一种安卓电视的焦点前景生成设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时可实现上述各实施例中的安卓电视的焦点前景生成方法的步骤。
参见图4所示,本发明实施例还提供一种安卓电视的焦点前景生成系统,该系统包括构建模块、绘制与置顶模块、可见性控制模块、特效实现模块、销毁判断模块和销毁模块。
其中,构建模块用于:构建焦点前景Drawable,并对焦点前景Drawable的属性管理类、资源类型进行设置,使得焦点前景Drawable具有大小位置可调、屏幕适配不失真、透明度可调的特性,向绘制与置顶模块发送绘制置顶信号。
绘制与置顶模块用于:收到绘制置顶信号后,在视图组绘制其下视图之前,完成焦点前景Drawable的绘制,并将绘制的焦点前景Drawable的空间位置置顶;向可见性控制模块发送可见性控制信号。具体来说,所述绘制与置顶模块将绘制的焦点前景Drawable的空间位置置顶的具体流程为:在完成焦点前景Drawable的绘制后,保存当前画布状态;待视图组下所有视图完成绘制后重置画布状态,将画布的目标状态重置为焦点前景Drawable绘制完成后的状态,使得绘制的焦点前景Drawable的空间位置置于所有视图之上。
可见性控制模块用于:收到可见性控制信号后,实时监听焦点视图的变化情况,当判定新获得焦点的焦点视图不是在焦点前景Drawable的正下方时,将绘制的焦点前景Drawable设置为不可见,向特效实现模块发送特效实现信号;当判定新获得焦点的焦点视图是在焦点前景Drawable的正下方时,将绘制的焦点前景Drawable设置为可见,向销毁判断模块发送销毁判断信号。
具体来说,所述可见性控制模块进行可见性控制的具体流程为:为窗口界面视图设置一个全局焦点监听器;一旦全局焦点监听器监听到内部焦点发生改变时,判断获得焦点的焦点视图的父视图的内存指针是否匹配当前焦点前景Drawable所在的视图组的内存地址;如果不匹配,则判定新获得焦点的焦点视图不是在焦点前景Drawable下方,将绘制的焦点前景Drawable设置为不可见,向特效实现模块发送特效实现信号;如果匹配,则判定新获得焦点的焦点视图是在焦点前景Drawable下方,将绘制的焦点前景Drawable设置为可见,并向销毁判断模块发送销毁判断信号。
特效实现模块用于:收到特效实现信号后,利用设置好的焦点前景Drawable的属性管理类完成焦点前景Drawable的缩放、位移及透明度调节的特效,并将焦点前景Drawable设置为可见;向销毁判断模块发送销毁判断信号。
销毁判断模块用于:收到销毁判断信号后,判断当前视图组是否处于销毁阶段,若是,向销毁模块发送销毁信号;若否,向可见性控制模块发送可见性控制信号。
销毁模块用于:收到销毁信号后,通过视图组的消息机制Handler对当前焦点前景Drawable进行销毁操作。
进一步地,参见图5所示,所述构建模块包括焦点前景Drawable构建子模块、属性管理类设置子模块和资源类型设置子模块。
其中,焦点前景Drawable构建子模块用于:构建焦点前景Drawable,使得焦点前景是以Drawable为载体;
属性管理类设置子模块用于:对焦点前景Drawable的属性管理类进行设置,使其设置为:采用矩形坐标来保存焦点前景Drawable的大小及空间位置信息;并通过属性动画完成焦点前景Drawable的缩放、位移、透明度调节的操作;
资源类型设置子模块用于:将焦点前景Drawable的资源类型设置为带透明通道的具备ARGB特性的.9.png类型。
需要说明的是:上述实施例提供的系统在实现安卓电视的焦点前景生成操作时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (8)
1.一种安卓电视的焦点前景生成方法,其特征在于,该方法包括以下步骤:
S1、构建焦点前景Drawable,并对焦点前景Drawable的属性管理类、资源类型进行设置,使得焦点前景Drawable具有大小位置可调、屏幕适配不失真、透明度可调的特性;
S2、当视图组绘制其下视图之前,完成焦点前景Drawable的绘制,并将绘制的焦点前景Drawable的空间位置置顶;
S3、实时监听焦点视图的变化情况,当判定新获得焦点的焦点视图不是在焦点前景Drawable的正下方时,将绘制的焦点前景Drawable设置为不可见,转入步骤S4;当判定新获得焦点的焦点视图是在焦点前景Drawable的正下方时,将绘制的焦点前景Drawable设置为可见,转入步骤S5;
S4、利用设置好的焦点前景Drawable的属性管理类完成焦点前景Drawable的缩放、位移及透明度调节的特效,并将焦点前景Drawable设置为可见;
S5、判断当前视图组是否处于销毁阶段,若是,转入步骤S6;若否,返回步骤S3;
S6、通过视图组的消息机制Handler对当前焦点前景Drawable进行销毁操作;
其中,步骤S1具体包括以下流程:
S101、构建焦点前景Drawable,使得焦点前景是以Drawable为载体;
S102、对焦点前景Drawable的属性管理类进行设置,使其设置为:采用矩形坐标来保存焦点前景Drawable的大小及空间位置信息;并通过属性动画完成焦点前景Drawable的缩放、位移、透明度调节的操作;
S103、将焦点前景Drawable的资源类型设置为带透明通道的具备ARGB特性的.9.png类型。
2.如权利要求1所述的安卓电视的焦点前景生成方法,其特征在于,步骤S2中,将绘制的焦点前景Drawable的空间位置置顶的具体流程为:
在完成焦点前景Drawable的绘制后,保存当前画布状态;待视图组下所有视图完成绘制后重置画布状态,将画布的目标状态重置为焦点前景Drawable绘制完成后的状态,使得绘制的焦点前景Drawable的空间位置置于所有视图之上。
3.如权利要求1所述的安卓电视的焦点前景生成方法,其特征在于,步骤S3具体包括以下流程:
为窗口界面视图设置一个全局焦点监听器;一旦全局焦点监听器监听到内部焦点发生改变时,判断获得焦点的焦点视图的父视图的内存指针是否匹配当前焦点前景Drawable所在的视图组的内存地址;
如果不匹配,则判定新获得焦点的焦点视图不是在焦点前景Drawable下方,将绘制的焦点前景Drawable设置为不可见,转入步骤S4;
如果匹配,则判定新获得焦点的焦点视图是在焦点前景Drawable下方,将绘制的焦点前景Drawable设置为可见。
4.一种存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现上述权利要求1至3中任一项所述方法的步骤。
5.一种安卓电视的焦点前景生成设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现上述权利要求1至3中任一项所述方法的步骤。
6.一种安卓电视的焦点前景生成系统,其特征在于:该系统包括构建模块、绘制与置顶模块、可见性控制模块、特效实现模块、销毁判断模块和销毁模块;
所述构建模块用于:构建焦点前景Drawable,并对焦点前景Drawable的属性管理类、资源类型进行设置,使得焦点前景Drawable具有大小位置可调、屏幕适配不失真、透明度可调的特性;向绘制与置顶模块发送绘制置顶信号;
所述绘制与置顶模块用于:收到绘制置顶信号后,在视图组绘制其下视图之前,完成焦点前景Drawable的绘制,并将绘制的焦点前景Drawable的空间位置置顶;向可见性控制模块发送可见性控制信号;
所述可见性控制模块用于:收到可见性控制信号后,实时监听焦点视图的变化情况,当判定新获得焦点的焦点视图不是在焦点前景Drawable的正下方时,将绘制的焦点前景Drawable设置为不可见,向特效实现模块发送特效实现信号;当判定新获得焦点的焦点视图是在焦点前景Drawable的正下方时,将绘制的焦点前景Drawable设置为可见,向销毁判断模块发送销毁判断信号;
所述特效实现模块用于:收到特效实现信号后,利用设置好的焦点前景Drawable的属性管理类完成焦点前景Drawable的缩放、位移及透明度调节的特效,并将焦点前景Drawable设置为可见;向销毁判断模块发送销毁判断信号;
所述销毁判断模块用于:收到销毁判断信号后,判断当前视图组是否处于销毁阶段,若是,向销毁模块发送销毁信号;若否,向可见性控制模块发送可见性控制信号;
所述销毁模块用于:收到销毁信号后,通过视图组的消息机制Handler对当前焦点前景Drawable进行销毁操作;
其中,所述构建模块包括焦点前景Drawable构建子模块、属性管理类设置子模块和资源类型设置子模块;
所述焦点前景Drawable构建子模块用于:构建焦点前景Drawable,使得焦点前景是以Drawable为载体;
所述属性管理类设置子模块用于:对焦点前景Drawable的属性管理类进行设置,使其设置为:采用矩形坐标来保存焦点前景Drawable的大小及空间位置信息;并通过属性动画完成焦点前景Drawable的缩放、位移、透明度调节的操作;
所述资源类型设置子模块用于:将焦点前景Drawable的资源类型设置为带透明通道的具备ARGB特性的.9.png类型。
7.如权利要求6所述的安卓电视的焦点前景生成系统,其特征在于:所述绘制与置顶模块将绘制的焦点前景Drawable的空间位置置顶的具体流程为:
在完成焦点前景Drawable的绘制后,保存当前画布状态;待视图组下所有视图完成绘制后重置画布状态,将画布的目标状态重置为焦点前景Drawable绘制完成后的状态,使得绘制的焦点前景Drawable的空间位置置于所有视图之上。
8.如权利要求6所述的安卓电视的焦点前景生成系统,其特征在于,所述可见性控制模块进行可见性控制的具体流程为:
为窗口界面视图设置一个全局焦点监听器;一旦全局焦点监听器监听到内部焦点发生改变时,判断获得焦点的焦点视图的父视图的内存指针是否匹配当前焦点前景Drawable所在的视图组的内存地址;
如果不匹配,则判定新获得焦点的焦点视图不是在焦点前景Drawable下方,将绘制的焦点前景Drawable设置为不可见,向特效实现模块发送特效实现信号;
如果匹配,则判定新获得焦点的焦点视图是在焦点前景Drawable下方,将绘制的焦点前景Drawable设置为可见,并向销毁判断模块发送销毁判断信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710475836.0A CN109104628B (zh) | 2017-06-21 | 2017-06-21 | 安卓电视的焦点前景生成方法、存储介质、设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710475836.0A CN109104628B (zh) | 2017-06-21 | 2017-06-21 | 安卓电视的焦点前景生成方法、存储介质、设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109104628A CN109104628A (zh) | 2018-12-28 |
CN109104628B true CN109104628B (zh) | 2020-12-15 |
Family
ID=64796316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710475836.0A Active CN109104628B (zh) | 2017-06-21 | 2017-06-21 | 安卓电视的焦点前景生成方法、存储介质、设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109104628B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109828757B (zh) * | 2019-01-16 | 2022-04-15 | 珠海天燕科技有限公司 | 一种应用程序的桌面显示方法及装置 |
CN112351328A (zh) * | 2020-09-24 | 2021-02-09 | 深圳Tcl新技术有限公司 | 智能电视焦点的呈现方法、设备及存储介质 |
CN115022700B (zh) * | 2022-05-18 | 2024-03-08 | 海看网络科技(山东)股份有限公司 | 一种电视中实现焦点闪屏的方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019678A (zh) * | 2012-11-16 | 2013-04-03 | Tcl集团股份有限公司 | 一种列表焦点框焦点变换方法及装置 |
CN103970538A (zh) * | 2014-05-07 | 2014-08-06 | Tcl集团股份有限公司 | 一种Android焦点变换方法及系统 |
CN104636158A (zh) * | 2013-11-14 | 2015-05-20 | 博雅网络游戏开发(深圳)有限公司 | 基于Android操作系统的鼠标指针控制方法和装置 |
CN104811784A (zh) * | 2015-03-20 | 2015-07-29 | 四川长虹电器股份有限公司 | 安卓系统中iptv页面焦点呈现处理方法 |
CN105630468A (zh) * | 2014-10-30 | 2016-06-01 | 腾讯科技(武汉)有限公司 | Ui框架的焦点移动方法及装置 |
CN105653246A (zh) * | 2014-11-14 | 2016-06-08 | Tcl集团股份有限公司 | 一种在Android系统中横向列表的实现方法及装置 |
CN105739808A (zh) * | 2014-12-08 | 2016-07-06 | 阿里巴巴集团控股有限公司 | 终端设备上光标移动显示方法及其装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090284532A1 (en) * | 2008-05-16 | 2009-11-19 | Apple Inc. | Cursor motion blurring |
-
2017
- 2017-06-21 CN CN201710475836.0A patent/CN109104628B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019678A (zh) * | 2012-11-16 | 2013-04-03 | Tcl集团股份有限公司 | 一种列表焦点框焦点变换方法及装置 |
CN104636158A (zh) * | 2013-11-14 | 2015-05-20 | 博雅网络游戏开发(深圳)有限公司 | 基于Android操作系统的鼠标指针控制方法和装置 |
CN103970538A (zh) * | 2014-05-07 | 2014-08-06 | Tcl集团股份有限公司 | 一种Android焦点变换方法及系统 |
CN105630468A (zh) * | 2014-10-30 | 2016-06-01 | 腾讯科技(武汉)有限公司 | Ui框架的焦点移动方法及装置 |
CN105653246A (zh) * | 2014-11-14 | 2016-06-08 | Tcl集团股份有限公司 | 一种在Android系统中横向列表的实现方法及装置 |
CN105739808A (zh) * | 2014-12-08 | 2016-07-06 | 阿里巴巴集团控股有限公司 | 终端设备上光标移动显示方法及其装置 |
CN104811784A (zh) * | 2015-03-20 | 2015-07-29 | 四川长虹电器股份有限公司 | 安卓系统中iptv页面焦点呈现处理方法 |
Non-Patent Citations (1)
Title |
---|
基于Android平台的网络电视互动界面整体设计与实现;程雯雯;《中国优秀硕士学位论文全文数据库》;20150331;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109104628A (zh) | 2018-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102442170B1 (ko) | 디스플레이 장치의 이의 디스플레이 방법 | |
WO2019228269A1 (zh) | 电视中的应用排序设置方法和装置 | |
US10747416B2 (en) | User terminal device and method for displaying thereof | |
CN104038807A (zh) | 一种基于OpenGL的图层混合方法及装置 | |
US20080229232A1 (en) | Full screen editing of visual media | |
CN106658139B (zh) | 一种焦点控制方法及装置 | |
WO2018119575A1 (zh) | 一种显示方法及电子设备 | |
CN104915115A (zh) | 用于终端的应用程序切换方法和装置 | |
US8902237B2 (en) | Image generating apparatus and image generating method | |
CN109104628B (zh) | 安卓电视的焦点前景生成方法、存储介质、设备及系统 | |
AU2013222958A1 (en) | Method and apparatus for object size adjustment on a screen | |
KR20150095537A (ko) | 사용자 단말 장치 및 이의 디스플레이 방법 | |
KR20190138885A (ko) | 알파 블렌딩을 사용한 동적 이미지 컬러 리매핑 방법 | |
US11039196B2 (en) | Method and device for displaying a screen shot | |
CN110457102B (zh) | 可视对象的模糊方法、渲染方法及计算设备 | |
CN108345488B (zh) | 界面的显示方法和装置 | |
CN109104627B (zh) | 安卓电视的焦点背景生成方法、存储介质、设备及系统 | |
TWI698834B (zh) | 用於圖形處理之方法及裝置 | |
CN112686939A (zh) | 景深图像的渲染方法、装置、设备及计算机可读存储介质 | |
CN107273072B (zh) | 图片显示方法、装置及电子设备 | |
CN104639969A (zh) | 一种页面全屏显示方法和装置 | |
CN114863432A (zh) | 一种终端设备、对比度调整方法、装置及介质 | |
CN115083343A (zh) | 显示设备和分辨率调节方法 | |
US8754908B2 (en) | Optimized on-screen video composition for mobile device | |
CN100593950C (zh) | 电视机显示多种风格菜单的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240206 Address after: Room 801, 85 Kefeng Road, Huangpu District, Guangzhou City, Guangdong Province Patentee after: Yami Technology (Guangzhou) Co.,Ltd. Country or region after: China Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd. Country or region before: China |