CN108874477A - 一种显示静态图片和动态图片的方法和装置 - Google Patents

一种显示静态图片和动态图片的方法和装置 Download PDF

Info

Publication number
CN108874477A
CN108874477A CN201710330757.0A CN201710330757A CN108874477A CN 108874477 A CN108874477 A CN 108874477A CN 201710330757 A CN201710330757 A CN 201710330757A CN 108874477 A CN108874477 A CN 108874477A
Authority
CN
China
Prior art keywords
dynamic
picture
static images
target
static
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.)
Granted
Application number
CN201710330757.0A
Other languages
English (en)
Other versions
CN108874477B (zh
Inventor
陈娇
陈少杰
张文明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Gaohang Intellectual Property Operation Co ltd
Guangyulaite Digital Technology Shanghai Co ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710330757.0A priority Critical patent/CN108874477B/zh
Publication of CN108874477A publication Critical patent/CN108874477A/zh
Application granted granted Critical
Publication of CN108874477B publication Critical patent/CN108874477B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明实施例提供了一种显示静态图片和动态图片的方法和装置,所述方法包括:向目标显示控件传入待显示的M个静态图片和N个动态图片,M和N均为正整数;基于M个所述静态图片和N个所述动态图片生成所述目标显示控件的M+N个对象;其中,M+N个所述对象包括与M个所述静态图片一一对应的M个第一对象,以及与N个所述动态图片一一对应的N个第二对象;依次判断N+M个所述对象为所述第一对象或所述第二对象;当所述对象为所述第一对象时,调用绘制静态图片的方法在所述目标显示控件中绘制所述对象对应的所述静态图片,以及当所述对象为所述第二对象时,调用绘制动态图片的方法在所述目标显示控件中绘制所述对象对应的所述动态图片。

Description

一种显示静态图片和动态图片的方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种静态图片和动态图片的方法和装置。
背景技术
随着图像技术的发展和多媒体应用的普及,人们越来越喜欢使用图片进行记录和分享。图片包括静态图片和动态图片。在现有技术中,如果需要同时显示静态图片和动态图片,需要至少两个显示控件,其中至少一个显示控件用于显示静态图片,至少一个显示控件用于显示动态图片。那么,同时显示静态图片和动态图片时***中显示控件的数量较多,使得显示控制难度高,且***资源大量显示控件所占用。
发明内容
本发明实施例提供了一种显示静态图片和动态图片的方法和装置,用于减少显示静态图片和动态图片的显示控件数量,降低显示控件所占用的***资源。
第一方面,本发明提供了一种显示静态图片和动态图片的方法,包括:
向目标显示控件传入待显示的M个静态图片和N个动态图片,M和N均为正整数;
基于M个所述静态图片和N个所述动态图片生成所述目标显示控件的M+N个对象;其中,M+N个所述对象包括与M个所述静态图片一一对应的M个第一对象,以及与N个所述动态图片一一对应的N个第二对象;
依次判断N+M个所述对象为所述第一对象或所述第二对象;
当所述对象为所述第一对象时,调用绘制静态图片的方法在所述目标显示控件中绘制所述对象对应的所述静态图片,以及当所述对象为所述第二对象时,调用绘制动态图片的方法在所述目标显示控件中绘制所述对象对应的所述动态图片。
可选的,基于M个所述静态图片和N个所述动态图片生成所述目标显示控件的M+N个对象,包括:
依次对M+N所述图片按照动态对象进行封装;
判断封装出的动态对象是否为空;
当封装出的所述动态对象为空时,对所述图片按照静态对象进行封装,以获得静态对象,并基于所述静态对象生成所述第一对象;
当所述封装出的动态对象不为空时,基于所述动态对象生成所述第二对象。
可选的,基于所述封装出的静态对象生成所述第一对象,包括:
基于所述静态对象以及表示静态对象的第一属性参数生成所述第一对象;
基于所述动态对象生成所述第二对象,包括:
基于所述动态对象以及表示动态对象的第二属性参数生成所述第二对象。
可选的,判断所述对象为所述第一对象或所述第二对象,包括:
读取每个所述对象的属性参数;
当所述属性参数为所述第一属性参数时,表示所述对象为所述第一对象;当所述属性参数为所述第二属性参数时,表示所述对象为所述第二对象。
可选的,在调用绘制静态图片的方法在所述目标显示控件中绘制所述对象对应的所述静态图片,以及调用绘制动态图片的方法在所述目标显示控件中绘制所述对象对应的所述动态图片之后,所述方法还包括:
在接收点击操作之后,获取所述点击操作的操作位置;
基于所述操作位置,确定所述目标显示控件中K个所述静态图片和P个所述动态图片中所述点击操作所针对的目标图片;K为小于等于M的正整数,P为小于等于N的正整数;
以所述目标图片响应所述点击操作。
第二方面,本发明提供了一种显示静态图片和动态图片的装置,包括:
传入模块,用于向目标显示控件传入待显示的M个静态图片和N个动态图片,M和N均为正整数;
对象生成模块,用于基于M个所述静态图片和N个所述动态图片生成所述目标显示控件的M+N个对象;其中,M+N个所述对象包括与M个所述静态图片一一对应的M个第一对象,以及与N个所述动态图片一一对应的N个第二对象;
判断模块,用于依次判断N+M个所述对象为所述第一对象或所述第二对象;
绘制模块,用于当所述对象为所述第一对象时,调用绘制静态图片的方法在所述目标显示控件中绘制所述对象对应的所述静态图片,以及当所述对象为所述第二对象时,调用绘制动态图片的方法在所述目标显示控件中绘制所述对象对应的所述动态图片。
可选的,所述对象生成模块用于依次对M+N所述图片按照动态对象进行封装;判断封装出的动态对象是否为空;当封装出的所述动态对象为空时,对所述图片按照静态对象进行封装,以获得静态对象,并基于所述静态对象生成所述第一对象;当所述封装出的动态对象不为空时,基于所述动态对象生成所述第二对象。
可选的,所述对象生成模块用于基于所述静态对象以及表示静态对象的第一属性参数生成所述第一对象;以及基于所述动态对象以及表示动态对象的第二属性参数生成所述第二对象。
可选的,所述判断模块用于读取每个所述对象的属性参数;当所述属性参数为所述第一属性参数时,表示所述对象为所述第一对象;当所述属性参数为所述第二属性参数时,表示所述对象为所述第二对象。
可选的,所述装置还包括:
获取模块,用于在调用绘制静态图片的方法在所述目标显示控件中绘制所述对象对应的所述静态图片,以及调用绘制动态图片的方法在所述目标显示控件中绘制所述对象对应的所述动态图片之后,在接收点击操作之后,获取所述点击操作的操作位置;
确定模块,用于基于所述操作位置,确定所述目标显示控件中K个所述静态图片和P个所述动态图片中所述点击操作所针对的目标图片;K为小于等于M的正整数,P为小于等于N的正整数;
响应模块,用于以所述目标图片响应所述点击操作。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
在本发明实施例的技术方案中,首先将需要显示的M个静态图片和N个动态图片仅传入一个显示控件,即目标显示控件,然后在所述目标显示控件中生成对应于所述静态图片的第一对象和对应于所述动态图片的第二对象,接着,调用绘制静态图片的方法在所述目标显示控件中绘制每个所述第一对象对应的所述静态图片,以及调用绘制动态图片的方法在所述目标显示控件中绘制每个所述第二对象对应的所述动态图片,由此在所述目标显示控件中实现同时显示M个所述静态图片和N个所述动态图片。由于一个显示控件可以同时显示静态图片和动态图片,故而同样显示动态图片和静态图片,本发明减少了显示控件的数量,进而降低了显示控件所占用的***资源。
附图说明
图1为本发明实施例中显示静态图片和动态图片的方法流程图;
图2为本发明实施例中显示静态图片和动态图片的装置结构示意图。
具体实施方式
本发明实施例提供了一种显示静态图片和动态图片的方法和装置,用于减少显示静态图片和动态图片的显示控件数量,降低显示控件所占用的***资源。
为了解决上述技术问题,本发明提供的技术方案总体思路如下:
在本发明实施例的技术方案中,首先将需要显示的M个静态图片和N个动态图片仅传入一个显示控件,即目标显示控件,然后在所述目标显示控件中生成对应于所述静态图片的第一对象和对应于所述动态图片的第二对象,接着,调用绘制静态图片的方法在所述目标显示控件中绘制每个所述第一对象对应的所述静态图片,以及调用绘制动态图片的方法在所述目标显示控件中绘制每个所述第二对象对应的所述动态图片,由此在所述目标显示控件中实现同时显示M个所述静态图片和N个所述动态图片。由于一个显示控件可以同时显示静态图片和动态图片,故而同样显示动态图片和静态图片,本发明减少了显示控件的数量,进而降低了显示控件所占用的***资源。
下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本发明第一方面提供了一种显示静态图片和动态图片的方法,请参考图1,为本发明实施例中显示静态图片和动态图片的方法流程图。该方法包括:
S101:向目标显示控件传入待显示的M个静态图片和N个动态图片,M和N均为正整数;
S102:基于M个所述静态图片和N个所述动态图片生成所述目标显示控件的M+N个对象;其中,M+N个所述对象包括与M个所述静态图片一一对应的M个第一对象,以及与N个所述动态图片一一对应的N个第二对象;
S103:依次判断N个所述对象为所述第一对象或所述第二对象;
S104:当所述对象为所述第一对象时,调用绘制静态图片的方法在所述目标显示控件中绘制所述第一对象对应的所述静态图片,以及当所述对象为所述第二对象时,调用绘制动态图片的方法在所述目标显示控件中绘制所述第二对象对应的所述动态图片。
具体来讲,首先,在S101中,将需要在目标显示控件View中显示的M个静态图片和N个动态图片传入目标View。在本发明实施例中,向目标View传入图片的方式具体为向目标View传入图片的ID,使目标View可以基于ID获得对应图片。
M和N均为正整数。并且,M和N可以相等,也可以不相等。另外,尽管本发明实施例中的M和N为正整数,但在具体实现过程中,如果不需要在目标View中显示静态图片,也可以仅传入N个动态图片,即取M=0;或者,如果不需要在目标View中显示动态图片,也可以仅传入M个动态图片,即取N=0。
可选的,在一种实施方式中,如果需要设置目标View中显示每个图片尺寸,则也可以将显示尺寸传入目标View。在另一种实施方式,如果需要目标View最终显示出的图片能够响应点击操作,例如放大、加载对象或下载等,则也可以将表示图片响应点击操作的参数也传入目标View。在具体实现过程中,本发明所属领域的普通技术人员可以根据实际选择或结合各种实施方式,本发明不做具体限制。
接下来,由于静态图片与动态图片不同,需要进行不同的封装,因此在S102中,将不同的图片封装为不同的对象。
具体来讲,若根据图片ID获取到的图片为静态图片,则将图片封装为第一对象;若根据图片ID获取到的图片为动态图片,则将图片封装为第二对象。本发明实施例中的第一对象与第二对象不同。第一对象用于封装静态图片,不用于封装动态图片。第二对象用于封装动态图片,不用于封装静态图片。
按照顺序一一封装每个图片,共得到M个第一对象和N个第二对象。每个封装完成的对象存储到待显示列表中。在后文中将待显示列表命名为totallist。
另外,如果目标View接收到图片对应的显示尺寸,那么按照接收到的显示尺寸计算图片的显示坐标,然后将显示坐标与该图片封装在同第一对象或第二对象中。而如果目标显示控件未接收到图片的显示尺寸,那么按照图片的原始尺寸计算显示坐标,然后将显示坐标与该图片封装在同第一对象或第二对象中。
完成对象的封装后,接下来,调用OnDraw方法绘制图片。具体来讲,为了在一个View中同时显示静态图片和动态图片,本发明实例对View中的的OnDraw方法进行重写,使得OnDraw方法的逻辑不同于现有技术中OnDraw方法的逻辑。
具体来讲,在S103中,OnDraw方法遍历totallist列表,依次读取每个对象。每读取出一个对象后,判断该对象为第一对象还是第二对象。当对象具体为第一对象时,表示此时需要绘制一静态图片,那么为了绘制静态图片,在S104中,OnDraw方法调用绘制静态图片的方法来绘制该对象所对应的静态图片;当对象具体为第二对象时,表示此时需要绘制一动态图片,那么为了绘制动态图片,在S104中,OnDraw方法调用绘制动态图片的方法来绘制该对象对应的动态图片。
另外,OnDraw方法进一步解析出封装在该对象中的显示坐标,并将显示坐标传入绘制静态图片的方法或者绘制动态图片的方法,以使得图片绘制在正确位置。
由上述描述可知,在本发明实施例的技术方案中,首先将需要显示的M个静态图片和N个动态图片仅传入一个显示控件,即目标显示控件,然后在目标显示控件中生成对应于静态图片的第一对象和对应于动态图片的第二对象,接着,调用绘制静态图片的方法在目标显示控件中绘制每个第一对象对应的静态图片,以及调用绘制动态图片的方法在目标显示控件中绘制每个第二对象对应的动态图片,由此在目标显示控件中实现同时显示M个静态图片和N个动态图片。由于一个显示控件可以同时显示静态图片和动态图片,故而同样显示动态图片和静态图片,本发明减少了显示控件的数量,进而降低了显示控件所占用的***资源。
进一步,通过重写OnDraw方法来实现判断对象为第一对象或第二对象,以及调用绘制静态图片或动态图片的方法绘制图片,一方面保证按照View规定方式绘制图片,避免绘制图片失败,另一方面不必引入新的函数,轻量化代码。
下面对S101中如何向目标View传入M个静态图片和N个动态图片进行详细介绍。
在本发明实施例中,通过addResourceId()方法向目标View传入每个图片。具体来讲,具体可以按照addResourceId(int id,boolean flag,ElementSize size)的形式向目标View传入图片。addResourceId()方法包括三个参数。第一个参数int id为图片的ID,即图片的存储地址。第二个参数flag用于表示图片是否响应点击。flag为true,则表示图片响应点击;flag为false,则表示图片不响应点击。第三个参数ElementSize size为图片的显示尺寸,可任意设置。如果ElementSize size为空,则显示尺寸默认为图片的原始尺寸。
通过调用M+N次addResourceId()方法,将M个静态图片和N个动态图片传入目标View。
下面对S102中如何封装对象进行详细介绍。在本发明实施例中,S102通过如下过程实现:
依次对M+N所述图片按照动态对象进行封装;
判断封装出的动态对象是否为空;
当封装出的所述动态对象为空时,对所述图片按照静态对象进行封装,以获得静态对象,并基于所述静态对象生成所述第一对象;
当所述封装出的动态对象不为空时,基于所述动态对象生成所述第二对象。
具体来讲,为了确定传入目标View的图片哪个为静态图片,哪个为动态图片,本发明实施例通过如下两种实施方式实现。
第一种实施方式,依次根据M+N个图片的ID,索引到每个图片。然后对每个图片按照动态对象(Movie对象)进行封装。由于静态图片无法被Movie对象封装,封装出的Movie对象为空,而动态图片则可以被Movie对象封装,封装出的Movie对象恰好包含该动态图片。所以,在本发明实施例中,对封装出的动态对象进行判断,如果封装出的动态对象为空,表示索引到的图片为静态图片。进而,丢弃该动态对象。并且,对该图片进行静态对象(Bitmap对象)的封装,获得包含该图片的静态对象。而如果封装出的动态对象不为空,表示索引到的图片为动态图片。保留该动态对象。最终共得到M个静态对象和N个动态对象。
第二种实施方式与第一种实施方式相反,依次根据M+N个图片的ID,索引到每个图片。然后对每个图片按照静态对象(Bitmap)进行封装。类似地,对封装出的静态对象进行判断。如果封装出的静态对象为空,表示索引到的图片为动态图片。丢弃该静态对象,并对该图片进行动态对象的封装,获得包含该图片的动态对象。而如果封装出的静态对象不为空,表示索引到的图片为静态图片。保留该静态对象。最终共得到M个静态对象和N个动态对象。
在具体实现过程中,本发明所属领域的普通技术人员可以根据实际进行选择,本发明不做具体限制。
进一步,无论按照上述哪种实施方式判断图片为静态图片或动态图片,将最终得到的M个静态对象和N个动态对象存储到待计算列表中。后文中,本发明实施例将待计算列表命名为datalist。
接下来,基于显示尺寸计算每个图片的显示坐标。
具体来讲,首先通过目标View的onMeasure()方法获取为目标View设置的显示宽度width和显示高度height。在一种实施方式中,width和height可以任意设置。在另一种实施方式中,按照显示方式也可以设置其中一个参数。具体地,如果M+N图片按顺序水平排序显示,则可以仅设置width;如果M+N图片按顺序竖直排序显示,则可以仅设置height。
下来以M+N图片按顺序水平排序显示为例来介绍如何确定图片的显示坐标。
目标View通过onMeasure()方法获取目标View的width。height初始化为0,遍历datalist列表。
具体来讲,读取出datalist列表的第一个对象。将第一个对象的左边坐标left和顶边坐标top设置为0。如果第一个对象对应ElementSize size参数不为空,则将ElementSize size中的宽度设置为第一个对象的右边坐标right,将ElementSize size中的高度设置为底边坐标bottom。而如果第一个对象对应的ElementSize size参数为空,则将图片的原始宽度设置为第一个对象的右边坐标right,将图片的原始高度设置为底边坐标bottom。left,top,right和bottom就是图片的显示坐标。
然后,读取datalist列表的第二个对象。首先判断第一个对象的right加上第二个对象显示尺寸的宽度是否大于width。如果第一个对象的right加上第二个对象的显示尺寸的宽度大于width,那么第二个对象需要换行,进而将第二个对象的left赋值为0,top赋值为上一行对象中bottom的最大值。如果第一个对象的right加上第二个对象的显示尺寸的宽度小于等于width,则第二个对象的left赋值为第一个对象的right,top赋值为第一个对象的top值。第二个对象的right和bottom计算方式与第一个对象类似,就不再重复赘述了。
接着,依次读取datalist列表中的后续对象,并以类似的方式计算每个对象的显示坐标。最后,将最后一行对象中最大的bottom值赋值给height。
接下来,每从datalist中读取一个对象并计算出该对象的显示坐标后,OnMeasure()方法将该对象和显示坐标封装在一起,获得第一对象或第二对象。
具体来讲,将静态对象封装成第一对象,通过如下过程实现:
基于所述静态对象以及表示静态对象的第一属性参数生成所述第一对象;
将动态对象封装成第二对象,则通过如下过程实现:
基于所述动态对象以及表示动态对象的第二属性参数生成所述第二对象。
本发明实施例中的第一对象和第二对象例如为javabean对象。javabean对象包括两个参数。第一个参数为属性参数obj,用于表示静态对象或动态对象。第二个参数为矩形类mBounds。mBounds进一步包括矩形的4个坐标子参数。
在上述遍历datalist列表时,依次读取出每个对象进而确定读取出的对象为Bitmap对象还是Movie对象。如果读取到Bitmap对象,生成该Bitmap对象对应的javabean对象时,为obj赋值表示静态对象的第一属性参数,例如0,以及将该Bitmap对象的left,top,right和bottom值赋值给mBounds的4个子参数。然后,将该javabean对象存储到totallist列中。其中,第一属性参数的obj就表示javabean对象为第一对象。
如果读取到Movie对象,生成该Movie对象对应的javabean对象时,为obj赋值表示动态对象的第二属性参数,例如1,以及将该Movie对象的left,top,right和bottom值赋值给mBounds的4个子参数。然后,将该javabean对象存储到totallist列中。其中,第二属性参数的obj就表示javabean对象为第二对象。
通过上述过程,就生成了M个静态图片对应的M个第一对象和N个动态图片对应的N个第二对象。
下面对S103中如何判断对象为第一对象或第二对象进行详细介绍。在本发明实施例中,S103通过如下过程实现:
读取每个所述对象的属性参数;
当所述属性参数为所述第一属性参数时,表示所述对象为所述第一对象;当所述属性参数为所述第二属性参数时,表示所述对象为所述第二对象。
具体来讲,OnDraw方法读取totallist列表中的每个javabean对象。如果javabean对象的obj为第一属性参数,那么表示javabean对象中包含的图片为静态图片。如果javabean对象的obj为第二属性参数,那么表示javabean对象中包含的图片为动态图片。
下面对S104绘制图片进行详细介绍。
如果OnDraw方法当前读取的javabean对象的obj为第一属性参数,在本发明实施例中,OnDraw方法将会调用绘制静态图片的方法canvas.drawBitmap()来绘制该javabean对象所包含的静态图片。具体来讲,OnDraw方法按照canvas.drawBitmap(canvas,mBounds.left,mBounds.top)的形式调用canvas.drawBitmap()方法。其中,canvas表示javabean对象中的图片,mBounds.left和mBounds.top表示javabean对象的mBounds的左边坐标子参数和顶边坐标子参数。
如果OnDraw方法当前读取的javabean对象的obj为第二属性参数,在本发明实施例中,OnDraw方法将会调用绘制动态图片的方法movie.draw()来绘制该javabean对象包含的动态图片。具体来讲,OnDraw方法按照movie.draw(canvas,mBounds.left,mBounds.top)的形式调用movie.draw()方法。其中,canvas表示javabean对象中的图片,mBounds.left和mBounds.top表示javabean对象的mBounds的左边坐标子参数和顶边坐标子参数。
进而,运行canvas.drawBitmap()方法和movie.draw()方法就可以在目标View中绘制出了M个静态图片和N个动态图片。
作为一种可选的实施方式,在S104之后,还可以进一步包括:
在接收点击操作之后,获取所述点击操作的操作位置;
基于所述操作位置,确定所述目标显示控件中K个所述静态图片和P个所述动态图片中所述点击操作所针对的目标图片;K为小于等于M的正整数,P为小于等于N的正整数;
以所述目标图片响应所述点击操作。
具体来讲,在本发明实施例中,可以设置部分或全部静态图片以及部分或全部动态图片响应点击操作。其中,能够响应点击操作的静态图片数量为K,能够响应点击操作的动态图片为P。K为小于等于M的正整数,P为小于等于N的正整数。
如上文所述,addResourceId()方法的第二个参数flag表示图片是否能够响应点击。在本发明实施例中,根据每个javabean对象对应的flag,将flag为true的javabean对象另外存储到响应对象列表中。在后文中,本发明实施例将响应对象列表命名为clickablelist。
由于本发明实施目标View中具有K个静态图片和P个动态图片可以响应点击,因此在接收点击操作后,需要确定是否以图片响应点击,以及如果以图片响应点击那么由哪一图片响应点击。
具体来讲,在接收点击操作后,通过目标View的onTouchEvent()方法获取点击操作的操作位置坐标。然后,根据操作位置坐标确定点击操作所针对的目标图片。
具体来讲,在本发明实施例中,图片响应点击的范围为显示坐标的范围。那么,遍历clickabllist列表中javabean对象,判断点击位置坐标是否在某一个javabean对象的mBounds范围内。如果点击位置在某一个javabean对象的mBounds范围内,则确定该javabean对象为目标对象。如果点击位置不再任一个javabean对象的mBounds范围内,表示点击操作为针对图片,则不以图片响应点击,而不响应或者以其他方式响应。其他方式例如显示“操作无效”的方式。
进一步,如果确定出目标图片,那么以目标图片响应点击操作。例如放大目标图片、加载目标图片链接的对象或者下载目标图片对应的资源等。
基于与前述实施例中显示静态图片和动态图片同样的发明构思,本发明第二方面还提供一种显示静态图片和显示动态图片的装置,如图2所示,包括:
传入模块101,用于向目标显示控件传入待显示的M个静态图片和N个动态图片,M和N均为正整数;
对象生成模块102,用于基于M个所述静态图片和N个所述动态图片生成所述目标显示控件的M+N个对象;其中,M+N个所述对象包括与M个所述静态图片一一对应的M个第一对象,以及与N个所述动态图片一一对应的N个第二对象;
判断模块103,用于依次判断N+M个所述对象为所述第一对象或所述第二对象;
绘制模块104,用于当所述对象为所述第一对象时,调用绘制静态图片的方法在所述目标显示控件中绘制所述对象对应的所述静态图片,以及当所述对象为所述第二对象时,调用绘制动态图片的方法在所述目标显示控件中绘制所述对象对应的所述动态图片。
具体来讲,对象生成模块102用于依次对M+N所述图片按照动态对象进行封装;判断封装出的动态对象是否为空;当封装出的所述动态对象为空时,对所述图片按照静态对象进行封装,以获得静态对象,并基于所述静态对象生成所述第一对象;当所述封装出的动态对象不为空时,基于所述动态对象生成所述第二对象。
进一步,对象生成模块102用于基于所述静态对象以及表示静态对象的第一属性参数生成所述第一对象;以及基于所述动态对象以及表示动态对象的第二属性参数生成所述第二对象。
具体来讲,判断模块103用于读取每个所述对象的属性参数;当所述属性参数为所述第一属性参数时,表示所述对象为所述第一对象;当所述属性参数为所述第二属性参数时,表示所述对象为所述第二对象。
进一步,本发明实施例中的装置还可以包括:
获取模块,用于在调用绘制静态图片的方法在所述目标显示控件中绘制所述对象对应的所述静态图片,以及调用绘制动态图片的方法在所述目标显示控件中绘制所述对象对应的所述动态图片之后,在接收点击操作之后,获取所述点击操作的操作位置;
确定模块,用于基于所述操作位置,确定所述目标显示控件中K个所述静态图片和P个所述动态图片中所述点击操作所针对的目标图片;K为小于等于M的正整数,P为小于等于N的正整数;
响应模块,用于以所述目标图片响应所述点击操作。
前述图1实施例中的显示静态图片和动态图片的方法的各种变化方式和具体实例同样适用于本实施例的显示静态图片和动态图片的装置,通过前述对显示静态图片和动态图片的方法的详细描述,本领域技术人员可以清楚的知道本实施例中显示静态图片和动态图片的装置的实施方法,所以为了说明书的简洁,在此不再详述。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
在本发明实施例的技术方案中,首先将需要显示的M个静态图片和N个动态图片仅传入一个显示控件,即目标显示控件,然后在所述目标显示控件中生成对应于所述静态图片的第一对象和对应于所述动态图片的第二对象,接着,调用绘制静态图片的方法在所述目标显示控件中绘制每个所述第一对象对应的所述静态图片,以及调用绘制动态图片的方法在所述目标显示控件中绘制每个所述第二对象对应的所述动态图片,由此在所述目标显示控件中实现同时显示M个所述静态图片和N个所述动态图片。由于一个显示控件可以同时显示静态图片和动态图片,故而同样显示动态图片和静态图片,本发明减少了显示控件的数量,进而降低了显示控件所占用的***资源。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种显示静态图片和动态图片的方法,其特征在于,包括:
向目标显示控件传入待显示的M个静态图片和N个动态图片,M和N均为正整数;
基于M个所述静态图片和N个所述动态图片生成所述目标显示控件的M+N个对象;其中,M+N个所述对象包括与M个所述静态图片一一对应的M个第一对象,以及与N个所述动态图片一一对应的N个第二对象;
依次判断N+M个所述对象为所述第一对象或所述第二对象;
当所述对象为所述第一对象时,调用绘制静态图片的方法在所述目标显示控件中绘制所述对象对应的所述静态图片,以及当所述对象为所述第二对象时,调用绘制动态图片的方法在所述目标显示控件中绘制所述对象对应的所述动态图片。
2.如权利要求1所述的方法,其特征在于,基于M个所述静态图片和N个所述动态图片生成所述目标显示控件的M+N个对象,包括:
依次对M+N所述图片按照动态对象进行封装;
判断封装出的动态对象是否为空;
当封装出的所述动态对象为空时,对所述图片按照静态对象进行封装,以获得静态对象,并基于所述静态对象生成所述第一对象;
当所述封装出的动态对象不为空时,基于所述动态对象生成所述第二对象。
3.如权利要求2所述的方法,其特征在于,基于所述封装出的静态对象生成所述第一对象,包括:
基于所述静态对象以及表示静态对象的第一属性参数生成所述第一对象;
基于所述动态对象生成所述第二对象,包括:
基于所述动态对象以及表示动态对象的第二属性参数生成所述第二对象。
4.如权利要求3所述的方法,其特征在于,判断所述对象为所述第一对象或所述第二对象,包括:
读取每个所述对象的属性参数;
当所述属性参数为所述第一属性参数时,表示所述对象为所述第一对象;当所述属性参数为所述第二属性参数时,表示所述对象为所述第二对象。
5.如权利要求1-4任一项所述的方法,其特征在于,在调用绘制静态图片的方法在所述目标显示控件中绘制所述对象对应的所述静态图片,以及调用绘制动态图片的方法在所述目标显示控件中绘制所述对象对应的所述动态图片之后,所述方法还包括:
在接收点击操作之后,获取所述点击操作的操作位置;
基于所述操作位置,确定所述目标显示控件中K个所述静态图片和P个所述动态图片中所述点击操作所针对的目标图片;K为小于等于M的正整数,P为小于等于N的正整数;
以所述目标图片响应所述点击操作。
6.一种显示静态图片和动态图片的装置,其特征在于,包括:
传入模块,用于向目标显示控件传入待显示的M个静态图片和N个动态图片,M和N均为正整数;
对象生成模块,用于基于M个所述静态图片和N个所述动态图片生成所述目标显示控件的M+N个对象;其中,M+N个所述对象包括与M个所述静态图片一一对应的M个第一对象,以及与N个所述动态图片一一对应的N个第二对象;
判断模块,用于依次判断N+M个所述对象为所述第一对象或所述第二对象;
绘制模块,用于当所述对象为所述第一对象时,调用绘制静态图片的方法在所述目标显示控件中绘制所述对象对应的所述静态图片,以及当所述对象为所述第二对象时,调用绘制动态图片的方法在所述目标显示控件中绘制所述对象对应的所述动态图片。
7.如权利要求6所述的装置,其特征在于,所述对象生成模块用于依次对M+N所述图片按照动态对象进行封装;判断封装出的动态对象是否为空;当封装出的所述动态对象为空时,对所述图片按照静态对象进行封装,以获得静态对象,并基于所述静态对象生成所述第一对象;当所述封装出的动态对象不为空时,基于所述动态对象生成所述第二对象。
8.如权利要求7所述的装置,其特征在于,所述对象生成模块用于基于所述静态对象以及表示静态对象的第一属性参数生成所述第一对象;以及基于所述动态对象以及表示动态对象的第二属性参数生成所述第二对象。
9.如权利要求8所述的装置,其特征在于,所述判断模块用于读取每个所述对象的属性参数;当所述属性参数为所述第一属性参数时,表示所述对象为所述第一对象;当所述属性参数为所述第二属性参数时,表示所述对象为所述第二对象。
10.如权利要求6-9任一项所述的装置,其特征在于,所述装置还包括:
获取模块,用于在调用绘制静态图片的方法在所述目标显示控件中绘制所述对象对应的所述静态图片,以及调用绘制动态图片的方法在所述目标显示控件中绘制所述对象对应的所述动态图片之后,在接收点击操作之后,获取所述点击操作的操作位置;
确定模块,用于基于所述操作位置,确定所述目标显示控件中K个所述静态图片和P个所述动态图片中所述点击操作所针对的目标图片;K为小于等于M的正整数,P为小于等于N的正整数;
响应模块,用于以所述目标图片响应所述点击操作。
CN201710330757.0A 2017-05-11 2017-05-11 一种显示静态图片和动态图片的方法和装置 Active CN108874477B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710330757.0A CN108874477B (zh) 2017-05-11 2017-05-11 一种显示静态图片和动态图片的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710330757.0A CN108874477B (zh) 2017-05-11 2017-05-11 一种显示静态图片和动态图片的方法和装置

Publications (2)

Publication Number Publication Date
CN108874477A true CN108874477A (zh) 2018-11-23
CN108874477B CN108874477B (zh) 2021-06-15

Family

ID=64319686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710330757.0A Active CN108874477B (zh) 2017-05-11 2017-05-11 一种显示静态图片和动态图片的方法和装置

Country Status (1)

Country Link
CN (1) CN108874477B (zh)

Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5216492A (en) * 1992-01-21 1993-06-01 Dorrough Electronics Dynamic video luminance and chrominance meter
US5504917A (en) * 1986-04-14 1996-04-02 National Instruments Corporation Method and apparatus for providing picture generation and control features in a graphical data flow environment
CN1540553A (zh) * 1999-04-13 2004-10-27 ������������ʽ���� 数据处理方法与装置
JP2008197665A (ja) * 2008-03-04 2008-08-28 Navitime Japan Co Ltd 地図表示システム、地図表示装置、地図表示方法および地図配信サーバ
CN101470729A (zh) * 2007-12-25 2009-07-01 百度在线网络技术(北京)有限公司 网页图片的显示方法及***和服务器
CN101499172A (zh) * 2009-03-06 2009-08-05 深圳华为通信技术有限公司 控件绘制方法及装置
JP2010045448A (ja) * 2008-08-08 2010-02-25 Sharp Corp 操作手順表示装置、操作手順表示システム、操作手順表示方法、電子機器、プログラムおよび記録媒体
CN101676910A (zh) * 2008-09-19 2010-03-24 北京大学 一种面向Web应用***的页面生成方法
CN102081650A (zh) * 2010-12-29 2011-06-01 上海网达软件有限公司 嵌入式平台用户界面加速显示的方法
CN102541554A (zh) * 2011-12-27 2012-07-04 重庆新媒农信科技有限公司 一种输入框动态透明显示特效实现方法
CN102541538A (zh) * 2011-12-06 2012-07-04 Tcl集团股份有限公司 一种基于移动终端的图片显示方法及装置
CN102541605A (zh) * 2011-12-30 2012-07-04 Tcl集团股份有限公司 基于Android***的图片加载方法和装置
CN102866898A (zh) * 2012-07-20 2013-01-09 厦门亿联网络技术股份有限公司 一种实现嵌入式设备上界面快速显示的方法
CN102945127A (zh) * 2012-11-05 2013-02-27 深圳市旭东数字医学影像技术有限公司 体绘制显示的交互方法及其***
CN103902575A (zh) * 2012-12-27 2014-07-02 腾讯科技(深圳)有限公司 一种图片信息加载方法及相关装置
CN104142807A (zh) * 2014-08-02 2014-11-12 合一网络技术(北京)有限公司 基于安卓控件利用OpenGL绘制图像的方法和***
CN104239085A (zh) * 2013-06-24 2014-12-24 腾讯科技(深圳)有限公司 背景图片的更换方法及装置
CN104239044A (zh) * 2014-09-05 2014-12-24 北京航天自动控制研究所 一种图形用户界面动态生成方法
CN104252379A (zh) * 2013-06-25 2014-12-31 腾讯科技(深圳)有限公司 图片缩略图显示方法和装置
CN104572715A (zh) * 2013-10-18 2015-04-29 北大方正集团有限公司 矢量图形的处理方法及装置
CN105187734A (zh) * 2015-07-23 2015-12-23 柳州永旺科技有限公司 一种动态图像与静态图像的加载方法
CN106095229A (zh) * 2016-06-02 2016-11-09 网易(杭州)网络有限公司 一种移动终端的显示方法和装置
CN106302543A (zh) * 2016-10-17 2017-01-04 腾讯科技(深圳)有限公司 一种多媒体显示方法、装置及***
CN106651992A (zh) * 2016-11-18 2017-05-10 武汉斗鱼网络科技有限公司 优化Android资源图片的方法及***

Patent Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5504917A (en) * 1986-04-14 1996-04-02 National Instruments Corporation Method and apparatus for providing picture generation and control features in a graphical data flow environment
US5216492A (en) * 1992-01-21 1993-06-01 Dorrough Electronics Dynamic video luminance and chrominance meter
CN1540553A (zh) * 1999-04-13 2004-10-27 ������������ʽ���� 数据处理方法与装置
CN101470729A (zh) * 2007-12-25 2009-07-01 百度在线网络技术(北京)有限公司 网页图片的显示方法及***和服务器
JP2008197665A (ja) * 2008-03-04 2008-08-28 Navitime Japan Co Ltd 地図表示システム、地図表示装置、地図表示方法および地図配信サーバ
JP2010045448A (ja) * 2008-08-08 2010-02-25 Sharp Corp 操作手順表示装置、操作手順表示システム、操作手順表示方法、電子機器、プログラムおよび記録媒体
CN101676910A (zh) * 2008-09-19 2010-03-24 北京大学 一种面向Web应用***的页面生成方法
CN101499172A (zh) * 2009-03-06 2009-08-05 深圳华为通信技术有限公司 控件绘制方法及装置
CN102081650A (zh) * 2010-12-29 2011-06-01 上海网达软件有限公司 嵌入式平台用户界面加速显示的方法
CN102541538A (zh) * 2011-12-06 2012-07-04 Tcl集团股份有限公司 一种基于移动终端的图片显示方法及装置
CN102541554A (zh) * 2011-12-27 2012-07-04 重庆新媒农信科技有限公司 一种输入框动态透明显示特效实现方法
CN102541605A (zh) * 2011-12-30 2012-07-04 Tcl集团股份有限公司 基于Android***的图片加载方法和装置
CN102866898A (zh) * 2012-07-20 2013-01-09 厦门亿联网络技术股份有限公司 一种实现嵌入式设备上界面快速显示的方法
CN102945127A (zh) * 2012-11-05 2013-02-27 深圳市旭东数字医学影像技术有限公司 体绘制显示的交互方法及其***
CN103902575A (zh) * 2012-12-27 2014-07-02 腾讯科技(深圳)有限公司 一种图片信息加载方法及相关装置
CN104239085A (zh) * 2013-06-24 2014-12-24 腾讯科技(深圳)有限公司 背景图片的更换方法及装置
CN104252379A (zh) * 2013-06-25 2014-12-31 腾讯科技(深圳)有限公司 图片缩略图显示方法和装置
CN104572715A (zh) * 2013-10-18 2015-04-29 北大方正集团有限公司 矢量图形的处理方法及装置
CN104142807A (zh) * 2014-08-02 2014-11-12 合一网络技术(北京)有限公司 基于安卓控件利用OpenGL绘制图像的方法和***
CN104239044A (zh) * 2014-09-05 2014-12-24 北京航天自动控制研究所 一种图形用户界面动态生成方法
CN105187734A (zh) * 2015-07-23 2015-12-23 柳州永旺科技有限公司 一种动态图像与静态图像的加载方法
CN106095229A (zh) * 2016-06-02 2016-11-09 网易(杭州)网络有限公司 一种移动终端的显示方法和装置
CN106302543A (zh) * 2016-10-17 2017-01-04 腾讯科技(深圳)有限公司 一种多媒体显示方法、装置及***
CN106651992A (zh) * 2016-11-18 2017-05-10 武汉斗鱼网络科技有限公司 优化Android资源图片的方法及***

Also Published As

Publication number Publication date
CN108874477B (zh) 2021-06-15

Similar Documents

Publication Publication Date Title
CN106095437B (zh) 用户界面从右到左rtl的布局方式的实现方法及装置
CN112102437B (zh) 一种基于Canvas的雷达图生成方法、装置、存储介质及终端
CN106990961B (zh) 一种WebGL图形渲染引擎的建立方法
CN108960947A (zh) 基于虚拟现实的样板房展示方法及***
CN111240669B (zh) 界面生成方法、装置、电子设备及计算机存储介质
TW201830290A (zh) 圖像生成方法及其設備
CN108537891A (zh) 三维材质和贴图数据自动转换到ue4的方法
CN115082609A (zh) 图像渲染方法、装置、存储介质及电子设备
CN114119834A (zh) 渲染方法、装置、电子设备及可读存储介质
CN106648623B (zh) 一种安卓***中字符的显示方法及装置
CN117611703A (zh) 弹幕字符的渲染方法、装置、设备、存储介质及程序产品
CN117710549A (zh) 渲染方法及设备
CN112732252A (zh) 一种动态生成ui的方法、装置和电子设备
CN108874477A (zh) 一种显示静态图片和动态图片的方法和装置
CN104008565A (zh) 一种利用cocos2d-x以及HGE引擎播放Flash位图动画的***和方法
CN108010095B (zh) 一种纹理合成的方法、装置及设备
CN116503529A (zh) 渲染、3d画面控制方法、电子设备和计算机可读存储介质
CN112445949A (zh) 一种组态式可视化展示方法、装置及***
CN113192173B (zh) 三维场景的图像处理方法、装置及电子设备
KR101586655B1 (ko) 반복순환 구조의 게임 장면 구현 및 동작 방법
CN110175307B (zh) 一种针对Blueprint的消息处理方法及装置
CN115439845B (zh) 基于图神经网络的图像外推方法、装置、存储介质及终端
CN114049425B (zh) 图像中的照明仿真方法、装置、设备及存储介质
CN114119797B (zh) 数据处理方法、装置、计算机可读介质、处理器及电子设备
CN106445535A (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

Effective date of registration: 20231204

Address after: Room 820, 8th floor, No. 390-408 Beijing East Road, Huangpu District, Shanghai, 200001

Patentee after: Guangyulaite Digital Technology (Shanghai) Co.,Ltd.

Address before: 510640 2414-2416 of the main building 371, five mountain road, Tianhe District, Guangzhou, Guangdong.

Patentee before: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Effective date of registration: 20231204

Address after: 510640 2414-2416 of the main building 371, five mountain road, Tianhe District, Guangzhou, Guangdong.

Patentee after: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

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.

TR01 Transfer of patent right