CN117234499A - 一种气泡生成方法、装置、电子设备及存储介质 - Google Patents
一种气泡生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117234499A CN117234499A CN202311277279.3A CN202311277279A CN117234499A CN 117234499 A CN117234499 A CN 117234499A CN 202311277279 A CN202311277279 A CN 202311277279A CN 117234499 A CN117234499 A CN 117234499A
- Authority
- CN
- China
- Prior art keywords
- bubble
- control
- parameters
- preset
- target control
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 230000006870 function Effects 0.000 claims description 41
- 238000004590 computer program Methods 0.000 claims description 17
- 238000003491 array Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 239000003086 colorant Substances 0.000 description 3
- 238000011423 initialization method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本申请涉及计算机技术领域,提供了一种气泡生成方法、装置、电子设备及存储介质。在该方法中,当存在目标控件需要展示一个气泡时,可以通过创建一个气泡控件,并将该气泡控件与目标控件绑定即可,从而提高了气泡控件的可复用性;并且,可以根据业务需求对气泡配置参数进行设置,从而可以实现对气泡控件对应的气泡配置参数进行灵活配置。这样,本实施例所提供的气泡生成方法可以提高气泡控件的可复用性,以及,可以实现对气泡控件对应的气泡配置参数进行灵活配置,从而提高了气泡生成的效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种气泡生成方法、装置、电子设备及存储介质。
背景技术
在现有技术中,若需要在页面中展示气泡,则在进行页面代码编写时,需要提前放置一个用于显示气泡的控件,并且还需要编写一些形状文件(例如气泡的形状、颜色等),然后,将用于显示气泡的控件设置为不可见,需要显示的时候才设置为可见状态。但是,如果有同个页面或多个页面都需要用展示同样的气泡,就需要人工在多个页面代码中编写布局气泡的代码;如果需要改变气泡的颜色、形状,还需要人工在编写多个形状文件。可见,现有技术使得在页面中生成气泡控件的通用性不够强,无法做到复用。
发明内容
有鉴于此,本申请实施例提供了一种气泡生成方法、装置、电子设备及计算机可读存储介质,以解决现有技术中在页面中生成气泡控件的通用性不够强,无法做到复用的问题。
本申请实施例的第一方面,提供了一种气泡生成方法,所述方法包括:
响应于气泡生成指令,生成气泡控件,以及,确定所述气泡控件对应的气泡配置参数和目标控件;
利用所述气泡配置参数和所述目标控件对所述气泡控件进行配置,得到配置后的气泡控件;
将所述配置后的气泡控件添加至所述目标控件的父容器。
本申请实施例的第二方面,提供了一种气泡生成装置,所述装置包括:
第一确定单元,用于响应于气泡生成指令,生成气泡控件,以及,确定所述气泡控件对应的气泡配置参数和目标控件;
第二确定单元,用于利用所述气泡配置参数和所述目标控件对所述气泡控件进行配置,得到配置后的气泡控件;
控件添加单元,用于将所述配置后的气泡控件添加至所述目标控件的父容器。
本申请实施例的第三方面,提供了一种电子设备,包括存储器、处理器以及存储在存储器中并且可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述第一方面中提及的方法的步骤。
本申请实施例的第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面中提及的方法的步骤。
本申请实施例与现有技术相比存在的有益效果是:在本实施例中,可以先响应于气泡生成指令,生成气泡控件,以及,确定所述气泡控件对应的气泡配置参数和目标控件;接着,可以利用所述气泡配置参数和所述目标控件对所述气泡控件进行配置,得到配置后的气泡控件;最后,可以将所述配置后的气泡控件添加至所述目标控件的父容器。可见,在本实施例中,当存在目标控件需要展示一个气泡时,可以通过创建一个气泡控件,并将该气泡控件与目标控件绑定即可,从而提高了气泡控件的可复用性;并且,可以根据业务需求对气泡配置参数进行设置,从而可以实现对气泡控件对应的气泡配置参数进行灵活配置。这样,本实施例所提供的气泡生成方法可以提高气泡控件的可复用性,以及,可以实现对气泡控件对应的气泡配置参数进行灵活配置,从而提高了气泡生成的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请实施例的一种应用场景的场景示意图;
图2是本申请实施例提供的一种气泡生成方法的流程示意图;
图3a是本申请实施例提供的一种气泡生成方法的流程示意图;
图3b是本申请实施例提供的一种气泡生成方法的流程示意图;
图4本申请实施例提供的一种气泡生成装置的结构示意图;
图5是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的***、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
下面将结合附图详细说明根据本申请实施例的一种气泡生成方法和装置。
图1是本申请实施例的应用场景的场景示意图。该应用场景可以包括终端设备1、2和3、服务器4以及网络5。
终端设备1、2和3可以是硬件,也可以是软件。当终端设备1、2和3为硬件时,其可以是具有显示屏且支持与服务器4通信的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等;当终端设备1、2和3为软件时,其可以安装在如上该的电子设备中。终端设备1、2和3可以实现为多个软件或软件模块,也可以实现为单个软件或软件模块,本申请实施例对此不作限制。进一步地,终端设备1、2和3上可以安装有各种应用,例如数据处理应用、即时通信工具、社交平台软件、搜索类应用、购物类应用等。
服务器4可以是提供各种服务的服务器,例如,对与其建立通信连接的终端设备发送的请求进行接收的后台服务器,该后台服务器可以对终端设备发送的请求进行接收和分析等处理,并生成处理结果。服务器4可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者还可以是一个云计算服务中心,本申请实施例对此不作限制。
需要说明的是,服务器4可以是硬件,也可以是软件。当服务器4为硬件时,其可以是为终端设备1、2和3提供各种服务的各种电子设备。当服务器4为软件时,其可以是为终端设备1、2和3提供各种服务的多个软件或软件模块,也可以是为终端设备1、2和3提供各种服务的单个软件或软件模块,本申请实施例对此不作限制。
网络5可以是采用同轴电缆、双绞线和光纤连接的有线网络,也可以是无需布线就能实现各种通信设备互联的无线网络,例如,蓝牙(Bluetooth)、近场通信(Near FieldCommunication,NFC)、红外(Infrared)等,本申请实施例对此不作限制。
车辆可以通过终端设备1、2和3经由网络5与服务器4建立通信连接,以接收或发送信息等。具体地,终端设备可以先响应于气泡生成指令,生成气泡控件,以及,确定所述气泡控件对应的气泡配置参数和目标控件。然后,终端设备可以利用所述气泡配置参数和所述目标控件对所述气泡控件进行配置,得到配置后的气泡控件。接着,终端设备可以将所述配置后的气泡控件添加至所述目标控件的父容器。可见,在本实施例中,当存在目标控件需要展示一个气泡时,可以通过创建一个气泡控件,并将该气泡控件与目标控件绑定即可,从而提高了气泡控件的可复用性;并且,可以根据业务需求对气泡配置参数进行设置,从而可以实现对气泡控件对应的气泡配置参数进行灵活配置。这样,本实施例所提供的气泡生成方法可以提高气泡控件的可复用性,以及,可以实现对气泡控件对应的气泡配置参数进行灵活配置,从而提高了气泡生成的效率。
需要说明的是,终端设备1、2和3、服务器4以及网络5的具体类型、数量和组合可以根据应用场景的实际需求进行调整,本申请实施例对此不作限制。
图2是本申请实施例提供的一种气泡生成方法的流程示意图。图2的气泡生成方法可以由图1的终端设备执行。如图2所示,该气泡生成方法包括:
S201,响应于气泡生成指令,生成气泡控件,以及,确定所述气泡控件对应的气泡配置参数和目标控件。
在本实施例中,当检测到用户针对页面中的一控件生成气泡时,可以触发生成气泡生成指令。其中,气泡生成指令可以理解为用于触发在页面的一控件中生成气泡的指令;在本实施例中,为了便于描述,可以将需要生成气泡的控件称之为目标控件,例如,需要在搜索控件上生成气泡,则可以将该搜索控件作为目标控件。然后,可以响应于气泡生成指令,生成气泡控件,以及,确定所述气泡控件对应的气泡配置参数和目标控件。
在本实施例的一种实现方式中,生成气泡控件的方式具体可以为:首先,根据所述气泡生成指令,生成气泡设置函数;然后,根据所述气泡设置函数,生成气泡控件,例如,可以根据所述气泡设置函数创建一个类,名为气泡控件,使气泡控件继承至Android***的文本控件。其中,所述气泡设置函数可以包括视图参数和文本参数,视图参数对应的参数类型为视图控件,文本参数对应的参数类型为字符串;可以理解的是,视图参数为气泡的外观参数,例如可以包括气泡的形状、颜色等;文本参数为气泡中所展示的文本信息,例如,文本参数可以包括气泡中所展示的文本颜色、文本字体大小、文本周边的边距、文本的背景色等。需要说明的是,气泡可以在任何地方使用,包括在Activity(活动)、Dialog(弹窗)、Fragment(碎片)都可以直接使用,例如要设置一个圆角的、灰色背景的气泡,则需要将气泡封装成一个单独的函数。
在本实施例中,气泡生成指令中可以包括预设的视图参数对应的预设标签,或者,用户设置的气泡外观参数。需要说明的是,可以利用预设的视图参数对应的预设标签查询到该预设标签对应的气泡文本参数,而该预设标签与该预设标签对应的气泡文本参数之间的对应关系是预先设置的;用户设置的气泡外观参数可以理解为创建气泡设置函数时,用户所设置的气泡外观参数。这样,可以将气泡生成指令中预设的视图参数对应的预设标签,或者,用户设置的气泡外观参数,作为气泡设置函数中的视图参数,即所述气泡设置函数中的视图参数包括预设的所述视图参数对应的预设标签,或者,用户设置的气泡外观参数。
气泡生成指令中还可以包括预设文本信息或用户设置的气泡文本信息。预设文本信息可以理解为预先设置的文本信息,而用户设置的气泡文本信息可以理解为创建气泡设置函数时,用户所设置的气泡文本信息。这样,可以将气泡生成指令中预设文本信息或用户设置的气泡文本信息,作为气泡设置函数中的文本参数,即,所述气泡设置函数中的文本参数包括预设文本信息或用户设置的气泡文本信息。
在本实施例的一种实现方式中,确定所述气泡控件对应的气泡配置参数和目标控件的方式可以包括以下步骤:
先将所述气泡生成指令中用户设置的目标控件作为所述气泡控件对应的目标控件。可以理解的是,气泡生成指令中可以包括目标控件,而该目标控件可以为用户设置的目标控件。
然后,可以根据所述气泡设置函数中的视图参数和文本参数,确定所述气泡控件对应的气泡配置参数。其中,所述气泡配置参数包括:气泡外观参数和气泡文本参数,例如,气泡外观参数可以包括气泡的形状、颜色等,气泡文本参数可以包括气泡中所展示的文本颜色、文本字体大小、文本周边的边距、文本的背景色等。
具体地,在本实施例中,可以先调用视图参数的标签获取方法(例如publicObject getTag()),可以得到图参数对应的标签。
若所述视图参数对应的标签为空,说明该视图参数中并未存在预设的气泡了,可以获取用户设置的气泡外观参数(即视图参数中的用户设置的气泡文本信息),生成所述用户设置的气泡外观参数对应的目标标签,将所述目标标签作为所述视图参数对应的标签,以及,将所述目标标签对应的气泡外观参数作为所述气泡控件对应的气泡配置参数中的气泡外观参数。作为一种示例,如图3b所示,如果视图参数对应的标签为空,调用气泡对象的绑定目标函数,直接创建一个气泡对象,其中,如果不设置气泡对象的气泡外观参数,就使用默认气泡外观参数,也可以获取用户设置的气泡外观参数;接着,调用视图参数的设置标签方法将气泡设置为视图的标签(即所述用户设置的气泡外观参数对应的目标标签),这样,可以防止重复创建气泡对象,节约内存开销。
若所述视图参数对应的标签为预设标签,说明该视图参数中已经存在预设的气泡了,此时需要将标签类型转成气泡控件类型,即,可以根据所述预设标签,从预设的配置文件、数据库或服务器中获取到所述预设标签对应的气泡外观参数,以及,将所述预设标签对应的气泡外观参数作为所述气泡控件对应的气泡配置参数中的气泡外观参数。其中,所述配置文件、数据库可以是设置于终端本地的。可以理解的是,预设标签对应的气泡外观参数可以是预先设置在配置文件、数据库或服务器中的,这样,便可以从终端本地的配置文件或数据库中获取到预设标签对应的气泡外观参数,或者,通过接口调用的形式从服务器获取预设标签对应的气泡外观参数。
其中,终端本地可以设置至少一个配置文件,每个配置文件可以对应不同的气泡。其中,配置文件的生成方式如下:新建一个文件对象(其中,文件对象就是在客户端的文件进行操作的一个文件引用,文件对象里面存的内容就是预设标签对应的气泡外观参数),并给文件对象指定一个目录和文件名,判断目录下的文件名是否已经存在,如果不存在就直接创建,并且,把配置文件中的数据转换成json格式,可以对配置文件进行读写。数据库的生成方式可以如下:1、新建数据库名为“kj_seres.db”;2、在数据库中新建一张数据库表名为气泡外观表;3、该气泡外观表的表字段为:id、形状、颜色、是否可用,转换为sql语句:create table if not existsˋkj_bubble_appearanceˋ(ˋuuidˋinteger primary keyautoincrement,ˋenabledˋinteger not null,ˋshapeˋtext,ˋcolorˋtext;4、创建一个数据库业务管理类,用于操作数据库表,这里称为气泡外观操作类(即操作数据库的一些方法,比如从数据库中查询数据、将数据新增到数据库中);5、在气泡外观表中新建查询函数:从气泡外观表中查询出所有的行的内容;6、在气泡外观表中新建***函数:用于将气泡外观参数新增到表中存储起来。服务器的存储方式是指数据(即预设标签对应的气泡外观参数)存放在服务器,每次需要使用预设标签对应的气泡外观参数的时候就通过接口的形式从服务器返回给客户端。需要说明的是,以上三种方式可以组合使用,可以增加预设标签对应的气泡外观参数获取的灵活性。可见,本实施例中的气泡外观参数不局限于通过本地配置,还可以和服务器约定所需状态,通过服务器返回的形式来设置气泡外观参数。如果预设的气泡外观参数不满足业务需求,还可以直接在使用该气泡控件的时候,自由定义所需要的气泡外观参数,由于气泡控件本身也是一个文本控件,所以可以通过设置文本的大小、颜色、背景色等等参数自由设置。
需要说明的是,预设标签对应的气泡外观参数的设置方式可以为:
创建本地配置类,其成员变量包括:(1)创建一个枚举类名为颜色,称其为颜色枚举,在颜色枚举中定义常量:红色、灰色、深灰色,相当于给气泡控件配置一个颜色配置表;在气泡类中创建一个成员变量,名为气泡颜色,变量类型:颜色枚举,作用:用于表示该气泡在界面上展示出来的颜色,并且,可以预先设置默认值,例如红色。(2)创建一个枚举类名为形状,称其为形状枚举,在形状枚举中定义常量:圆形、圆角、矩形、小圆点,相当于给气泡控件配置一个本地形状配置表;在气泡类中创建一个成员变量,名为气泡形状,变量类型:形状枚举,作用:用于表示该气泡在界面上展示出来的形状,并且,可以预先设置默认值,例如圆形。
为了可以从终端本地的配置文件或数据库中获取到预设标签对应的气泡外观参数,或者,通过接口调用的形式从服务器获取预设标签对应的气泡外观参数,在本实施例中,还需要创建能够从配置文件、数据库或者服务器中读写数据的方法,具体包括:1、创建一个文件读取的方法,具体为新建一个文件输入流对象,用于调用文件输入流的读取方法从文件中读取内容;若读取出来的结果是一个字节数组,可以将字节数组转成字符串,这个字符串是一个json字符串,然后把json字符串转成对应的枚举类型。2、创建一个文件写入的方法,具体为新建一个文件输出流对象,为这个输出流指定文件名,文件输出流对象用于将要写入的内容转成json字符串,再调用字符串的获取字节数组方法将字符串转成字节数组;调用文件输出流对象的写入方法可以将字节数组进入到文件中,最后关闭这个文件输出流。3、创建一个数据库的读取方法,例如,可以编写sql语句查询数据库中的表:select*from kj_bubble_apperance,从表中查询出所有的形状和颜色,并分别转成对应的枚举类型。4、创建一个数据库的写入方法,具体地,在该方法中,编写sql语句***数据库中的表:insert into kj_bubble_apperance(shape,color)values(?,?),然后,进行数据的***。
相应地,在本实施例中,预设标签对应的气泡外观参数的获取方法可以为:首先调用“文件读取”方法从本地的配置文件中获取预设标签对应的气泡外观参数;如果获取到的数据为空,接着调用“读取数据库”方法从数据库中获取预设标签对应的气泡外观参数配置文件;如果获取到的数据为空,调用服务器接口,从服务器获取预设标签对应的气泡外观参数;获取到预设标签对应的气泡外观参数之后,调用“写入文件”方法,将数据存入本地的配置文件,调用“写入数据库”方法,同时将预设标签对应的气泡外观参数存入数据库。本实施例中,采用这种设计提供了屏蔽底层数据来源的差异性,并提供了灵活性,可以对预设标签对应的气泡外观参数的来源方式进行增删的替换。
在一种实现方式中,所述预设的配置文件、数据库或服务器中所存储的气泡配置参数为字节数组。相应地,将所述预设标签对应的气泡外观参数作为所述气泡控件对应的气泡配置参数中的气泡外观参数的方式具体可以为:先将所述预设标签对应的气泡外观参数由字节数组格式转换为json字符串格式;然后,可以将所述预设标签对应的气泡外观参数由json字符串格式转换为枚举类型,得到所述气泡控件对应的气泡配置参数中的气泡外观参数。
若所述文本参数中包括用户设置的气泡文本信息,将所述用户设置的气泡文本信息作为所述气泡控件对应的气泡配置参数中的气泡文本参数;
若所述文本参数包括预设文本信息,将所述预设文本信息作为所述气泡控件对应的气泡配置参数中的气泡文本参数。
S202,利用所述气泡配置参数和所述目标控件对所述气泡控件进行配置,得到配置后的气泡控件。
在确定所述气泡控件对应的气泡配置参数后,可以利用所述气泡配置参数和所述目标控件对所述气泡控件进行配置,得到配置后的气泡控件。作为一种示例,如图3a所示,先在气泡控件中创建一个全局属性:目标控件,类型:Android***的视图类型,这样,可以利用全局属性和类型确定气泡控件作用在哪个目标控件;然后,新建一个初始化方法,这个初始方法放在气泡控件的构造函数中调用,在初始方法中写:调用***方法将气泡控件设置默认的文本颜色、文本字体大小、文本周边的边距、文本的背景色等等;接着,新建一个设置文本的方法,该方法可以将所设置的气泡文本信息设置到气泡控件,用于在界面进行显示该气泡文本信息;紧接着,可以新建设置气泡边距函数,具体为在气泡控件内新建一个函数,用于设置气泡的外边距,在函数中写:1、获取到气泡控件的布局参数;2、由于布局参数是都继承自Android***提供的边缘布局参数(MarginLayoutParams),所以可以分别对气泡控件的布局参数设置左右上下的边距;紧接着,新建绑定目标函数,参数为***视图类型,将参数赋值给全局属性中的目标控件;创建方法调用设置气泡外观,在气泡控件中新建一个设置形状颜色的函数,用于设置气泡的外观,在函数中需要两个参数:参数1:气泡的形状,参数类型为:形状枚举;参数2:气泡的颜色,参数类型:颜色枚举;即分别将参数1和参数2赋值给创建的设置形状颜色的函数。需要说明的是,在本实施例中,提供两种方式设置来设置气泡的形状、颜色:
方式一:首先在资源目录下预置新建一些xml资源文件;通过在xml资源文件的根节点设置形状,在形状节点下设置圆角属性、大小属性、填充色、描边等等;气泡的形状如果是圆形,就设置大小的宽度和高度相等;如果是圆角,根据想要的圆角大小设置圆角;如果是矩形,就不设置圆角或者将圆角设置为0。使用的时候通过给气泡控件设置一个背景资源文件,将这个资源文件设置到气泡控件中,***会自动加载成一个绘图对象,展示在界面上。
方式二:利用材料设计风格设置形状。新建一个形状绘图对象,也就是实例化一个形状绘图对象,通过气泡配置参数中的气泡外观参数对形状绘图对象提供可配置的参数,设置圆角、设置填充色、设置描边等等,根据形状设置圆角、圆形、矩形等,最后将这个形状绘图对象设置给气泡控件的背景参数。
这样,便实现了利用所述气泡配置参数和所述目标控件对所述气泡控件进行配置,得到配置后的气泡控件。
S203,将所述配置后的气泡控件添加至所述目标控件的父容器。
在得到配置后的气泡控件后,可以将所述配置后的气泡控件添加至所述目标控件的父容器,这样,便可以在界面的目标控件中显示该气泡控件对应的气泡。
具体地,可以先判断气泡控件是否有父容器(即气泡控件的父控件)。
若所述配置后的气泡控件的父容器为空,则可以将所述配置后的气泡控件添加至所述目标控件的父容器。
若所述配置后的气泡控件的父容器为预设父容器,即配置后的气泡控件的父容器不为空,则表示气泡控件存在父容器,此时需要调用父容器的移除控件方法将气泡移除掉,即调用所述预设父容器的移除控件将所述配置后的气泡控件从所述预设父容器中移除;以及,将所述配置后的气泡控件添加至所述目标控件的父容器。
在本实施例中,将所述配置后的气泡控件添加至所述目标控件的父容器的方式包括以下两种方式:
第一种:若所述目标控件的父容器的类型为帧布局,将所述配置后的气泡控件添加至所述目标控件的父容器中;
第二种:若所述目标控件的父容器的类型为容器,先获取所述目标控件的布局参数和所述目标控件的位置索引,所述目标控件的位置索引用于反映所述目标控件在所述目标控件的父容器中的位置信息。然后,可以创建一帧布局作为气泡布局,将所述目标控件的布局参数赋值给所述气泡布局,以及,将所述目标控件和所述配置后的气泡控件添加至所述气泡布局中。接着,可以根据所述目标控件的位置索引,将所述气泡布局添加至所述目标控件的父容器中,即,将气泡布局添加至所述目标控件的父容器中与目标控件的位置索引相对应的位置。
作为一种示例,如图3a所示,首先目标控件调用方法public final ViewParentgetParent()获取到目标控件的父容器,该方法由Android***提供。然后,判断目标控件的父容器的父容器类型。如果目标控件的父容器的父容器类型是帧布局,那就直接将气泡控件添加到目标控件的父容器中。如果目标控件的父容器的父容器类型是容器,先得到目标控件在这个父容器中的具***置,调用***方法int indexOfChild(View child)得到位置索引,返回值是一个数值,这里称其为“位置索引”,代表目标控件在父容器的第几个位置。
接着,获取目标控件的布局参数,以及,父容器将目标控件从容器中移除。紧接着,新建一个帧布局,并为其设置一个id,称之为气泡布局;将目标控件的布局参数设置赋值给新创建的这个气泡布局。紧接着,将目标控件添加到气泡布局中,以及,将气泡控件添加到气泡布局中,这样在气泡布局中,气泡控件显示的界面上的层级就在目标控件之上。最后,可以将气泡布局添加到目标控件的父容器中,具体地,可以调用***方法:addView(Viewchild,int index,LayoutParams params),在“位置索引”的地方将气泡布局添加到目标控件的父容器中,同时把目标控件的布局参数设置到气泡布局中,即保持气泡控件在绑定到目标控件之前的布局参数和绑定之后的气泡布局的参数一致。
本申请实施例与现有技术相比存在的有益效果是:在本实施例中,可以先响应于气泡生成指令,生成气泡控件,以及,确定所述气泡控件对应的气泡配置参数和目标控件;接着,可以利用所述气泡配置参数和所述目标控件对所述气泡控件进行配置,得到配置后的气泡控件;最后,可以将所述配置后的气泡控件添加至所述目标控件的父容器。可见,在本实施例中,当存在目标控件需要展示一个气泡时,可以通过创建一个气泡控件,并将该气泡控件与目标控件绑定即可,从而提高了气泡控件的可复用性;并且,可以根据业务需求对气泡配置参数进行设置,从而可以实现对气泡控件对应的气泡配置参数进行灵活配置。这样,本实施例所提供的气泡生成方法可以提高气泡控件的可复用性,以及,可以实现对气泡控件对应的气泡配置参数进行灵活配置,从而提高了气泡生成的效率。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图4是本申请实施例提供的一种气泡生成装置的示意图。如图4所示,该气泡生成装置包括:
第一确定单元401,用于响应于气泡生成指令,生成气泡控件,以及,确定所述气泡控件对应的气泡配置参数和目标控件;
第二确定单元402,用于利用所述气泡配置参数和所述目标控件对所述气泡控件进行配置,得到配置后的气泡控件;
控件添加单元403,用于将所述配置后的气泡控件添加至所述目标控件的父容器。
可选的,所述第一确定单元401,用于:
根据所述气泡生成指令,生成气泡设置函数;其中,所述气泡设置函数包括视图参数和文本参数;
根据所述气泡设置函数,生成气泡控件。
可选的,所述第一确定单元401,用于:
将所述气泡生成指令中用户设置的目标控件作为所述气泡控件对应的目标控件;
根据所述气泡设置函数中的视图参数和文本参数,确定所述气泡控件对应的气泡配置参数;其中,所述气泡配置参数包括:气泡外观参数和气泡文本参数。
可选的,所述气泡设置函数中的视图参数包括预设的所述视图参数对应的预设标签,或者,用户设置的气泡外观参数;所述气泡设置函数中的文本参数包括预设文本信息或用户设置的气泡文本信息;所述所述第一确定单元401,用于:
若所述视图参数对应的标签为空,获取所述用户设置的气泡外观参数,生成所述用户设置的气泡外观参数对应的目标标签,将所述目标标签作为所述视图参数对应的标签,以及,将所述目标标签对应的气泡外观参数作为所述气泡控件对应的气泡配置参数中的气泡外观参数;
若所述视图参数对应的标签为预设标签,根据所述预设标签,从预设的配置文件、数据库或服务器中获取到所述预设标签对应的气泡外观参数,以及,将所述预设标签对应的气泡外观参数作为所述气泡控件对应的气泡配置参数中的气泡外观参数;
若所述文本参数中包括用户设置的气泡文本信息,将所述用户设置的气泡文本信息作为所述气泡控件对应的气泡配置参数中的气泡文本参数;
若所述文本参数包括预设文本信息,将所述预设文本信息作为所述气泡控件对应的气泡配置参数中的气泡文本参数。
可选的,所述预设的配置文件、数据库或服务器中所存储的气泡配置参数为字节数组;
所述所述第一确定单元401,用于:
将所述预设标签对应的气泡外观参数由字节数组格式转换为json字符串格式;
将所述预设标签对应的气泡外观参数由json字符串格式转换为枚举类型,得到所述气泡控件对应的气泡配置参数中的气泡外观参数。
可选的,所述控件添加单元403,用于:
若所述配置后的气泡控件的父容器为空,则将所述配置后的气泡控件添加至所述目标控件的父容器;
若所述配置后的气泡控件的父容器为预设父容器,则调用所述预设父容器的移除控件将所述配置后的气泡控件从所述预设父容器中移除,以及,将所述配置后的气泡控件添加至所述目标控件的父容器。
可选的,所述控件添加单元403,用于:
若所述目标控件的父容器的类型为帧布局,将所述配置后的气泡控件添加至所述目标控件的父容器中;
若所述目标控件的父容器的类型为容器,获取所述目标控件的布局参数和所述目标控件的位置索引,所述目标控件的位置索引用于反映所述目标控件在所述目标控件的父容器中的位置信息;创建一帧布局作为气泡布局,将所述目标控件的布局参数赋值给所述气泡布局,以及,将所述目标控件和所述配置后的气泡控件添加至所述气泡布局中;根据所述目标控件的位置索引,将所述气泡布局添加至所述目标控件的父容器中。
本申请实施例与现有技术相比存在的有益效果是:在本实施例中所提供的气泡生成装置中,当存在目标控件需要展示一个气泡时,可以通过创建一个气泡控件,并将该气泡控件与目标控件绑定即可,从而提高了气泡控件的可复用性;并且,可以根据业务需求对气泡配置参数进行设置,从而可以实现对气泡控件对应的气泡配置参数进行灵活配置。这样,本实施例所提供的气泡生成方法可以提高气泡控件的可复用性,以及,可以实现对气泡控件对应的气泡配置参数进行灵活配置,从而提高了气泡生成的效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图5是本申请实施例提供的电子设备5的示意图。如图5所示,该实施例的电子设备5包括:处理器501、存储器502以及存储在该存储器502中并且可在处理器501上运行的计算机程序503。处理器501执行计算机程序503时实现上述各个方法实施例中的步骤。或者,处理器501执行计算机程序503时实现上述各装置实施例中各模块/单元的功能。
电子设备5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备5可以包括但不仅限于处理器501和存储器502。本领域技术人员可以理解,图5仅仅是电子设备5的示例,并不构成对电子设备5的限定,可以包括比图示更多或更少的部件,或者不同的部件。
处理器501可以是中央处理单元(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
存储器502可以是电子设备5的内部存储单元,例如,电子设备5的硬盘或内存。存储器502也可以是电子设备5的外部存储设备,例如,电子设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。存储器502还可以既包括电子设备5的内部存储单元也包括外部存储设备。存储器502用于存储计算机程序以及电子设备所需的其它程序和数据。
本申请还提供了一种车辆,该车辆可以采用上述提及的方法控制车载显示器进行图标放置的处理。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种气泡生成方法,其特征在于,所述方法包括:
响应于气泡生成指令,生成气泡控件,以及,确定所述气泡控件对应的气泡配置参数和目标控件;
利用所述气泡配置参数和所述目标控件对所述气泡控件进行配置,得到配置后的气泡控件;
将所述配置后的气泡控件添加至所述目标控件的父容器。
2.根据权利要求1所述的方法,其特征在于,所述生成气泡控件,包括:
根据所述气泡生成指令,生成气泡设置函数;其中,所述气泡设置函数包括视图参数和文本参数;
根据所述气泡设置函数,生成气泡控件。
3.根据权利要求2所述的方法,其特征在于,所述确定所述气泡控件对应的气泡配置参数和目标控件,包括:
将所述气泡生成指令中用户设置的目标控件作为所述气泡控件对应的目标控件;
根据所述气泡设置函数中的视图参数和文本参数,确定所述气泡控件对应的气泡配置参数;其中,所述气泡配置参数包括:气泡外观参数和气泡文本参数。
4.根据权利要求3所述的方法,其特征在于,所述气泡设置函数中的视图参数包括预设的所述视图参数对应的预设标签,或者,用户设置的气泡外观参数;所述气泡设置函数中的文本参数包括预设文本信息或用户设置的气泡文本信息;所述根据所述气泡设置函数中的视图参数和文本参数,确定所述气泡控件对应的气泡配置参数,包括:
若所述视图参数对应的标签为空,获取所述用户设置的气泡外观参数,生成所述用户设置的气泡外观参数对应的目标标签,将所述目标标签作为所述视图参数对应的标签,以及,将所述目标标签对应的气泡外观参数作为所述气泡控件对应的气泡配置参数中的气泡外观参数;
若所述视图参数对应的标签为预设标签,根据所述预设标签,从预设的配置文件、数据库或服务器中获取到所述预设标签对应的气泡外观参数,以及,将所述预设标签对应的气泡外观参数作为所述气泡控件对应的气泡配置参数中的气泡外观参数;
若所述文本参数中包括用户设置的气泡文本信息,将所述用户设置的气泡文本信息作为所述气泡控件对应的气泡配置参数中的气泡文本参数;
若所述文本参数包括预设文本信息,将所述预设文本信息作为所述气泡控件对应的气泡配置参数中的气泡文本参数。
5.根据权利要求4所述的方法,其特征在于,所述预设的配置文件、数据库或服务器中所存储的气泡配置参数为字节数组;
所述将所述预设标签对应的气泡外观参数作为所述气泡控件对应的气泡配置参数中的气泡外观参数,包括:
将所述预设标签对应的气泡外观参数由字节数组格式转换为json字符串格式;
将所述预设标签对应的气泡外观参数由json字符串格式转换为枚举类型,得到所述气泡控件对应的气泡配置参数中的气泡外观参数。
6.根据权利要求1所述的方法,其特征在于,所述将所述配置后的气泡控件添加至所述目标控件的父容器,包括:
若所述配置后的气泡控件的父容器为空,则将所述配置后的气泡控件添加至所述目标控件的父容器;
若所述配置后的气泡控件的父容器为预设父容器,则调用所述预设父容器的移除控件将所述配置后的气泡控件从所述预设父容器中移除,以及,将所述配置后的气泡控件添加至所述目标控件的父容器。
7.根据权利要求6所述的方法,其特征在于,所述将所述配置后的气泡控件添加至所述目标控件的父容器,包括:
若所述目标控件的父容器的类型为帧布局,将所述配置后的气泡控件添加至所述目标控件的父容器中;
若所述目标控件的父容器的类型为容器,获取所述目标控件的布局参数和所述目标控件的位置索引,所述目标控件的位置索引用于反映所述目标控件在所述目标控件的父容器中的位置信息;创建一帧布局作为气泡布局,将所述目标控件的布局参数赋值给所述气泡布局,以及,将所述目标控件和所述配置后的气泡控件添加至所述气泡布局中;根据所述目标控件的位置索引,将所述气泡布局添加至所述目标控件的父容器中。
8.一种气泡生成装置,其特征在于,所述装置包括:
第一确定单元,用于响应于气泡生成指令,生成气泡控件,以及,确定所述气泡控件对应的气泡配置参数和目标控件;
第二确定单元,用于利用所述气泡配置参数和所述目标控件对所述气泡控件进行配置,得到配置后的气泡控件;
控件添加单元,用于将所述配置后的气泡控件添加至所述目标控件的父容器。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并且可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311277279.3A CN117234499A (zh) | 2023-09-28 | 2023-09-28 | 一种气泡生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311277279.3A CN117234499A (zh) | 2023-09-28 | 2023-09-28 | 一种气泡生成方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117234499A true CN117234499A (zh) | 2023-12-15 |
Family
ID=89094639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311277279.3A Pending CN117234499A (zh) | 2023-09-28 | 2023-09-28 | 一种气泡生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117234499A (zh) |
-
2023
- 2023-09-28 CN CN202311277279.3A patent/CN117234499A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109145238B (zh) | 一种卡片显示方法、装置及移动设备 | |
CN110941614A (zh) | 表单生成方法、装置、电子设备及计算机可读存储介质 | |
CN106547580B (zh) | 挂钩函数的方法、装置、移动终端及存储介质 | |
CN108279882B (zh) | 框架生成方法、装置、设备及计算机可读介质 | |
CN111475162A (zh) | 页面生成方法、装置、服务器及存储介质 | |
CN110738038A (zh) | 合同文本的生成方法、装置、设备及计算机可读存储介质 | |
CN113626223A (zh) | 一种接口调用方法和装置 | |
CN113076153A (zh) | 一种接口调用方法和装置 | |
CN113885935A (zh) | 资源打包方法、装置、电子设备及计算机可读存储介质 | |
CN106022010A (zh) | 一种文件展示方法及装置 | |
CN115526160A (zh) | 富文本处理方法、装置、设备及存储介质 | |
CN113407254B (zh) | 表单生成方法、装置、电子设备及存储介质 | |
CN104375814A (zh) | 接口文档的生成方法及装置 | |
CN113553123B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN110708423A (zh) | 消息内容展示方法、装置及存储介质 | |
CN108363574B (zh) | 基于sdk的前端定制方法、装置、终端设备及存储介质 | |
CN116610354A (zh) | 参数校验方法、装置、计算机设备及存储介质 | |
CN117234499A (zh) | 一种气泡生成方法、装置、电子设备及存储介质 | |
CN111831179B (zh) | 签约方法、装置及计算机可读介质 | |
CN114090083B (zh) | 一种可视化组件配置方法、装置、设备及存储介质 | |
CN113656041A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN115114280A (zh) | 报表生成处理方法、装置及设备 | |
CN110795087B (zh) | 对uml设计图的图元处理方法、装置和计算机设备 | |
CN112114931A (zh) | 深度学习程序配置方法、装置、电子设备及存储介质 | |
CN114676124B (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 |