CN108205458A - 会话框实现方法、装置及可读存储介质 - Google Patents

会话框实现方法、装置及可读存储介质 Download PDF

Info

Publication number
CN108205458A
CN108205458A CN201810001260.9A CN201810001260A CN108205458A CN 108205458 A CN108205458 A CN 108205458A CN 201810001260 A CN201810001260 A CN 201810001260A CN 108205458 A CN108205458 A CN 108205458A
Authority
CN
China
Prior art keywords
dialog box
view object
box view
dialog
view
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
Application number
CN201810001260.9A
Other languages
English (en)
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.)
Wuhan Douyu Network Technology 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 CN201810001260.9A priority Critical patent/CN108205458A/zh
Publication of CN108205458A publication Critical patent/CN108205458A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明实施例提供一种会话框实现方法、装置及可读存储介质。该方法包括:响应会话框的显示请求,从会话框布局文件中加载会话框视图对象,其中,所述会话框布局文件为可扩展标记语言文件,所述会话框视图对象中包括有多个视图元素;通过窗口管理器将所述会话框视图对象加载到视窗中,并按照预设位置信息进行显示;检测是否接收到对所述会话框视图对象的取消操作,在检测接收到对所述会话框视图对象的取消操作时,将所述会话框视图对象设置为隐藏状态,并将所述会话框视图对象中的状态信息进行保存。由此,能够有效解决传统方案中无法实现会话框的状态保存的问题,扩宽了会话框的应用场景,提高用户体验。

Description

会话框实现方法、装置及可读存储介质
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种会话框实现方法、装置及可读存储介质。
背景技术
在Android的开发过程中会经常使用到Dialog控件,Dialog控件在Android中表示的是一个会话框,该会话框可以用于显示一些较少内容,方便用户根据应用逻辑做出一定的判定。但是,当会话框消失后,如果再次弹出,那么之前在会话框中的操作或者选择的内容会被全部清空掉,无法对会话框消失之前的内容进行保存处理,对于用户来讲往往需要进行重新操作或者选择,严重影响用户体验。
发明内容
为了克服现有技术中的上述不足,本发明的目的在于提供一种会话框实现方法、装置及可读存储介质,能够有效解决传统方案中无法实现会话框的状态保存的问题,扩宽了会话框的应用场景,提高用户体验。
为了实现上述目的,本发明较佳实施例采用的技术方案如下:
本发明较佳实施例提供一种会话框实现方法,应用于Android终端,所述方法包括:
响应会话框的显示请求,从会话框布局文件中加载会话框视图对象,其中,所述会话框布局文件为可扩展标记语言文件,所述会话框视图对象中包括有多个视图元素;
通过窗口管理器将所述会话框视图对象加载到视窗中,并按照预设位置信息进行显示;
检测是否接收到对所述会话框视图对象的取消操作,在检测接收到对所述会话框视图对象的取消操作时,将所述会话框视图对象设置为隐藏状态,并将所述会话框视图对象中的状态信息进行保存。
在本发明较佳实施例中,在将所述会话框视图对象设置为隐藏状态,并将所述会话框视图对象中的状态信息进行保存之后,所述方法还包括:
在接收到对所述会话框视图对象的显示请求时,将所述会话框视图对象设置为可见状态,并将所述会话框视图对象中保存的状态信息进行显示。
在本发明较佳实施例中,所述从会话框布局文件中加载会话框视图对象,包括:
调用布局加载器将所述会话框布局文件加载到内存中;
在加载成功后,返回会话框视图对象。
在本发明较佳实施例中,在响应会话框的显示请求,从会话框布局文件中加载会话框视图对象之前,所述方法还包括:
通过窗口管理器对所述会话框视图对象的位置信息进行配置,其中,所述窗口管理器用于对窗口进行管理,所述窗口用于容纳页面对象或者视图对象。
在本发明较佳实施例中,所述通过窗口管理器将所述会话框视图对象加载到视窗中,并按照预设位置信息进行显示,包括:
获取所述会话框视图对象的预设位置信息;
通过窗口管理器将所述会话框视图对象加载到视窗中,并通过位置描述函数类按照所述预设位置信息将所述会话框视图对象作为单独页面进行显示。
在本发明较佳实施例中,所述会话框视图对象中包括有每个视图元素对应的标识符,所述通过窗口管理器将所述会话框视图对象按照预设位置信息进行显示之后,所述方法还包括:
接收对目标视图元素的定位请求,所述定位请求中包括有该目标视图元素的目标标识符;
根据所述目标标识符定位到对应的所述目标视图元素,以便于用户在所述目标视图元素中编辑状态信息。
本发明较佳实施例还提供一种会话框实现装置,应用于Android终端,所述装置包括:
加载模块,用于响应会话框的显示请求,从会话框布局文件中加载会话框视图对象,其中,所述会话框布局文件为可扩展标记语言文件,所述会话框视图对象中包括有多个视图元素。
显示模块,用于通过窗口管理器将所述会话框视图对象加载到视窗中,并按照预设位置信息进行显示。
隐藏设置模块,用于检测是否接收到对所述会话框视图对象的取消操作,在检测接收到对所述会话框视图对象的取消操作时,将所述会话框视图对象设置为隐藏状态,并将所述会话框视图对象中的状态信息进行保存。
本发明较佳实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被执行时实现上述的会话框实现方法。
相对于现有技术而言,本发明具有以下有益效果:
本发明实施例提供一种会话框实现方法、装置及可读存储介质,通过响应会话框的显示请求,从会话框布局文件中加载会话框视图对象,然后通过窗口管理器将所述会话框视图对象加载到视窗中,并按照预设位置信息进行显示,在检测接收到对所述会话框视图对象的取消操作时,将所述会话框视图对象设置为隐藏状态,并将所述会话框视图对象中的状态信息进行保存。由此,能够有效解决传统方案中无法实现会话框的状态保存的问题,扩宽了会话框的应用场景,提高用户体验。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
图1为本发明较佳实施例提供的会话框实现方法的一种流程示意图;
图2为本发明较佳实施例提供的会话框实现方法的一种流程示意图;
图3为本发明较佳实施例提供的会话框实现装置的一种功能模块图;
图4为本发明较佳实施例提供的会话框实现装置的另一种功能模块图;
图5为本发明较佳实施例提供的电子设备的一种结构示意框图。
图标:100-Android终端;110-总线;120-处理器;130-存储介质;140-总线接口;150-网络适配器;160-用户接口;200-会话框实现装置;210-加载模块;220-显示模块;230-隐藏设置模块;240-可见设置模块。
具体实施方式
本申请发明人在实现本发明实施例提供的技术方案过程中,发现传统方案中的Dialog会话框的设计中是无法对上一次的内容进行保存的,也就是说安卓(Android)系统自带的Dialog的实现是无法实现状态保存的,例如Dialog会话框上有一个文本输入框,当输入abc字符串后再通过点击取消的方式来取消Dialog会话框,在下次Dialog会话框弹出时该文本输入框中是没有abc字符的,这个是Android系统自带的Dialog的特性。
为了解决上述方案,发明人发现目前传统的优化和解决系统Dialog无法保存状态的实现方法是通过持久化保存Dialog会话框中的信息,当下次弹出Dialog会话框的时候需要对信息进行恢复处理。然而,对于Dialog中信息内容比较少的时候,上述方法比较方便,但是当应用场景较为复杂的时候,而Dialog会话框中存储的数据较多的时候,就会导致持久化存储和数据恢复流程变得异常复杂,从而极大的增加了软件开发的难度和降低了程序的可维护性。
因此,传统的Dialog会话框的实现方式是基于Android系统的Dialog来进行扩展,基于Android系统的Dialog方式扩展得到的Dialog需要和某一个页面进行绑定(Android中的页面是一个Activity),也就是说会话框的弹出是基于某一个页面的,退出页面后该Dialog的内容就无法进行保存和处理了,如果退出了页面需要对Dialog中的部分数据进行更新的时候,此时就无法进行相应的操作了。通过对上述场景的描述,不难发现系统原生的Dialog和上述优化过的Dialog都无法实现完美且简单地保存Dialog的状态信息。
鉴于上述问题,本申请发明人提出下述技术方案,通过响应会话框的显示请求,从会话框布局文件中加载会话框视图对象,然后通过窗口管理器将所述会话框视图对象加载到视窗中,并按照预设位置信息进行显示,在检测接收到对所述会话框视图对象的取消操作时,将所述会话框视图对象设置为隐藏状态,并将所述会话框视图对象中的状态信息进行保存。由此,能够有效解决传统方案中无法实现会话框的状态保存的问题,扩宽了会话框的应用场景和使用范围,提高用户体验。同时,能够有效提高会话框状态维护的便捷性,提高软件的开发效率和可维护性。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
请参阅图1,为本发明较佳实施例提供的会话框实现方法的一种流程示意图。所应说明的是,本发明实施例提供的会话框实现方法不以图1及以下所述的具体顺序为限制。所述方法的具体流程如下:
步骤S210,响应会话框的显示请求,从会话框布局文件中加载会话框视图对象。
本实施例中,所述会话框布局文件为可扩展标记语言(Extensible MarkupLanguage,XML)文件。所述会话框视图对象中包括有多个视图元素,每个视图元素为所述会话框视图对象的组成部分,例如,在一个会话框中,可包括图片元素、文字元素、选择按钮元素等。
在实际实施时,当用户点击某个应用程序的一个会话框显示对象,从而触发会话框显示请求。此时通过响应会话框的显示请求,通过Android系统中提供的布局加载器LayoutInflater来对会话框布局文件进行加载。具体而言,通过调用布局加载器LayoutInflater中的inflate(XML)方法来加载一个会话框布局view视图。其中,XML表示的是被加载的会话框布局文件。Inflate函数调用完成后会返回一个view对象,view对象在Android系统中表示的是一个视图对象,该view对象即为需要显示的会话框视图的内存对象,通过将该内存对象标记为DialogView,从而实现从会话框布局文件中加载出会话框视图对象。
步骤S220,通过窗口管理器将所述会话框视图对象加载到视窗中,并按照预设位置信息进行显示。
本实施例中,在所述步骤S220之前,所述方法还包括通过窗口管理器对所述会话框视图对象的位置信息进行配置。由于传统的会话框的位置通常是在屏幕的正中间来进行显示的,其位置信息是通过传统的位置描述来进行定义的。在本实施例中,会话框的位置信息是通过系统的WindowManager.LayoutParams来对其进行定义的。详细地,在Android系统中,Window表示的是一个视窗的含义,该含义与页面存在很大差异。在Android中页面是一个Activity,Window表示的是一个视窗,视窗上可以有多个视图,每个视图有深度信息等。换句话说,Window是一个可以容纳多个Activity(页面)或者View(视图)的容器。
本实施例中,会话框被设计成一个独立的页面,并且可以将该页面设置在整个显示界面的顶层,这样展现出来的效果类似于会话框的实现效果。本步骤中,所述会话框的位置信息的描述是通过窗口管理器的layoutParams类来进行设计的。具体的位置描述信息如下所示:
mExitDialogLayoutParams=new WindowManager.LayoutParams();
mExitDialogLayoutParams.type=WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
mExitDialogLayoutParams.flags=mMenuLayoutParams.flags
|WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
|WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
mExitDialogLayoutParams.gravity=Gravity.CENTER;
mExitDialogLayoutParams.format=PixelFormat.TRANSLUCENT;
mExitDialogLayoutParams.width=DisPlayUtil.dip2px(mContext,200);
mExitDialogLayoutParams.height=DisPlayUtil.dip2px(mContext,100);
其中,mExitDialogLayoutParams表示WindowManager.LayoutParams(窗口管理器LayoutParams类)的一个实例对象。
mExitDialogLayoutParams.type=WindowManager.LayoutParams.TYPE_SYSTEM_ALERT表示的是该对象的类型是系统弹框类型。
mExitDialogLayoutParams.flags表示的是一系列属性设置,下面描述上述属性的设置含义。
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE表示不可聚焦。
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS表示布局位置无限制,这样就可以使得视图可以显示在屏幕的任意位置而不会受屏幕大小的限制。
mExitDialogLayoutParams.gravity=Gravity.CENTER;表示的是居中对齐,这样可以使得dialog能够在屏幕的正中间显示出来。
mExitDialogLayoutParams.format=PixelFormat.TRANSLUCENT表示该会话框的背景色为投屏颜色,这样弹出来的会话框就不会存在黑边框。
mExitDialogLayoutParams.width和mExitDialogLayoutParams.height表示设置的会话框的宽度信息和高度信息。
通过上述属性的描述信息就可以完成整个会话框的位置和属性等信息的描述。
在上述基础上,不难发现会话框在系统内存中的对象是DialogView,在内存中的位置描述对象是mExitDialogLayoutParams。因此,当需要将所述会话框视图对象进行显示时,首先可以获取所述会话框视图对象的预设位置信息,再通过窗口管理器将所述会话框视图对象加载到视窗中,并通过位置描述函数类按照所述预设位置信息将所述会话框视图对象作为单独页面进行显示。详细地,通过调用窗口管理器WindowManage中的addView(DialogView,mExitDialogLayoutParams)的方法就可以在当前的视窗中将DialogView的内容显示在屏幕上,这样需要展示的视图就可以按照上述定义的位置来进行显示。由此,通过将DialogView定义成一个View对象,也即会话框视图对象,然后直接加载到视窗Window中,而非传统方法中通过系统的Dialog空间的实现方式来实现Dialog的视图加载的。
步骤S230,检测是否接收到对所述会话框视图对象的取消操作,在检测接收到对所述会话框视图对象的取消操作时,将所述会话框视图对象设置为隐藏状态,并将所述会话框视图对象中的状态信息进行保存。
本实施例中,通过上述方法可以将会话框视图显示在屏幕上,当检测接收到对所述会话框视图对象的取消操作时,由于会话框视图的显示在基于视窗Window而不是基于某一个页面Activity或者某一个视图View的,而视窗Window在Android系统中有且仅有一个,因此本实施例所述的会话框与页面Activity或者视图view无关,与视窗Window有关。由于在Android系统中Window永久不会被释放掉,因此可以实现会话框不会主动被系统回收,会话框在系统内存中一直存储并且不会被销毁掉。因此当用户点击取消或者隐藏会话框的时候,此时系统做的一个假的对象销毁操作,实际上是通过调用会话框视图对象中的SetVisiable(Gone)方法来将会话框视图对象对象设置为不可见状态,从而实现了会话框视图对象对象的假销毁过程。由于会话框视图对象没有被真正的销毁掉,因此其状态会在内存中由系统进行自动维护和保存,无需人为参与的情况下依旧可以自动保存状态信息。由此,能够有效解决传统方案中无法实现会话框的状态保存的问题,扩宽了会话框的应用场景和使用范围,提高用户体验。同时,能够有效提高会话框状态维护的便捷性,提高软件的开发效率和可维护性。
进一步地,请参阅图2,在所述步骤S230之后,所述方法还可以包括:
步骤S240,在接收到对所述会话框视图对象的显示请求时,将所述会话框视图对象设置为可见状态,并将所述会话框视图对象中保存的状态信息进行显示。
本实施例中,当在需要显示会话框视图对象的时候,可以直接调用会话框视图对象中的SetVisiable(visiable)就可以将会话框重新进行显示,其状态信息和隐藏之前的状态信息是完全一致的,从而达到了会话框状态信息自动保存的目的,无需用户重复操作,提高了用户体验。
进一步地,在上述会话框显示的过程中,由于会话框视图对象表示的是整个会话框的视图对象,但是会话框中可能包含有很多个按钮或者文字信息等小的视图元素,因此本实施例还需要描述如何从会话框视图对象中定位到该会话框视图对象中的视图元素,从而用户可以随时对所述会话框视图对象中的视图元素进行操作或者编辑。详细地,当用户点击会话框中的某一目标视图元素时,通过接收对目标视图元素的定位请求,所述定位请求中包括有该目标视图元素的目标标识符,然后根据所述目标标识符定位到对应的所述目标视图元素,以便于用户在所述目标视图元素中编辑状态信息。
更为详细地,首先通过调用会话框视图对象中的findViewById方法来查询会话框视图对象中的视图元素信息。在会话框布局文件中对每一个视图元素都分配一个唯一的标识符,当将会话框视图对象加载到内存中后,再通过调用会话框视图对象中的findViewById方法,将分配的目标视图元素的目标标识符传入进去就能够定位到会话框视图对象中对应的目标视图元素了,该视图元素可以标记为itemView,通过这种唯一标识符的方法来建立起会话框视图对象与其中视图元素之间的关系,从而找到会话框视图对象中的某一个视图元素。依次类推,通过类似的方式可以定位到会话框视图对象中的所有的视图元素信息,针对每一视图元素信息可以进行独立的操作和编辑。当用户取消会话框时,用户在所述视图元素中的操作信息和编辑信息可以在后台内存中实时进行保存,在重新弹出会话框时操作信息和编辑信息与取消会话框之前完全一致,无需用户重新操作或者编辑,给用户带来了极大编辑。
进一步地,请参阅图3,本发明较佳实施例还提供一种会话框实现装置200,所述装置可以包括:
加载模块210,用于响应会话框的显示请求,从会话框布局文件中加载会话框视图对象,其中,所述会话框布局文件为可扩展标记语言文件,所述会话框视图对象中包括有多个视图元素。
显示模块220,用于通过窗口管理器将所述会话框视图对象加载到视窗中,并按照预设位置信息进行显示。
隐藏设置模块230,用于检测是否接收到对所述会话框视图对象的取消操作,在检测接收到对所述会话框视图对象的取消操作时,将所述会话框视图对象设置为隐藏状态,并将所述会话框视图对象中的状态信息进行保存。
请参阅图4,在一种实施方式中,所述装置还可以包括:
可见设置模块240,用于在接收到对所述会话框视图对象的显示请求时,将所述会话框视图对象设置为可见状态,并将所述会话框视图对象中保存的状态信息进行显示。
在一种实施方式中,所述显示模块220,还用于获取所述会话框视图对象的预设位置信息,再通过窗口管理器将所述会话框视图对象加载到视窗中,并通过位置描述函数类按照所述预设位置信息将所述会话框视图对象作为单独页面进行显示。
可以理解的是,本实施例中的各功能模块的具体操作方法可参照上述方法实施例中相应步骤的详细描述,在此不再重复赘述。
进一步地,请参阅图5,为本发明较佳实施例提供的Android终端100的一种结构示意框图。本实施例中,所述Android终端100可以是包括硬体、软体或内嵌逻辑元件或者两个或多个此类元件的组合的电子装置,例如包括室内或室外、手持、穿戴或车载设备甚至是服务器。例如,所述Android终端100为运行安卓(Android)系统的终端设备,可以是手机(mobile phone)、平板电脑(Pad)、虚拟现实(Virtual Reality,VR)终端设备、增强现实(Augmented Reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本申请的实施例对应用场景不做限定。
如图5所示,Android终端100可以由总线110作一般性的总线体系结构来实现。根据Android终端100的具体应用和整体设计约束条件,总线110可以包括任意数量的互连总线和桥接。总线110将各种电路连接在一起,这些电路包括处理器120、存储介质130和总线接口140。可选地,Android终端100可以使用总线接口140将网络适配器150等经由总线110连接。网络适配器150可用于实现Android终端100中物理层的信号处理功能,并通过天线实现射频信号的发送和接收。用户接口160可以连接外部设备,例如:键盘、显示器、鼠标或者操纵杆等。总线110还可以连接各种其它电路,如定时源、外围设备、电压调节器或者功率管理电路等,这些电路是本领域所熟知的,因此不再详述。
可以替换的,Android终端100也可配置成通用处理系统,例如通称为芯片,该通用处理系统包括:提供处理功能的一个或多个微处理器,以及提供存储介质130的至少一部分的外部存储器,所有这些都通过外部总线体系结构与其它支持电路连接在一起。
可替换的,Android终端100可以使用下述来实现:具有处理器120、总线接口140、用户接口160的ASIC(专用集成电路);以及集成在单个芯片中的存储介质130的至少一部分,或者,Android终端100可以使用下述来实现:一个或多个FPGA(现场可编程门阵列)、PLD(可编程逻辑器件)、控制器、状态机、门逻辑、分立硬件部件、任何其它适合的电路、或者能够执行本发明通篇所描述的各种功能的电路的任意组合。
其中,处理器120负责管理总线110和一般处理(包括执行存储在存储介质130上的软件)。处理器120可以使用一个或多个通用处理器和/或专用处理器来实现。处理器120的例子包括微处理器、微控制器、DSP处理器和能够执行软件的其它电路。应当将软件广义地解释为表示指令、数据或其任意组合,而不论是将其称作为软件、固件、中间件、微代码、硬件描述语言还是其它。
在图5中存储介质130被示为与处理器120分离,然而,本领域技术人员很容易明白,存储介质130或其任意部分可位于Android终端100之外。举例来说,存储介质130可以包括传输线、用数据调制的载波波形、和/或与无线节点分离开的计算机制品,这些介质均可以由处理器120通过总线接口140来访问。可替换地,存储介质130或其任意部分可以集成到处理器120中,例如,可以是高速缓存和/或通用寄存器。
所述处理器120可执行上述实施例,具体地,所述存储介质130中可以存储有所述会话框实现装置200,所述处理器120可以用于执行所述会话框实现装置200。
综上所述,本发明实施例提供一种会话框实现方法、装置及可读存储介质,通过响应会话框的显示请求,从会话框布局文件中加载会话框视图对象,然后通过窗口管理器将所述会话框视图对象加载到视窗中,并按照预设位置信息进行显示,在检测接收到对所述会话框视图对象的取消操作时,将所述会话框视图对象设置为隐藏状态,并将所述会话框视图对象中的状态信息进行保存。由此,能够有效解决传统方案中无法实现会话框的状态保存的问题,扩宽了会话框的应用场景,提高用户体验。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
可以替换的,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其它可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的电子设备、服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,术语"包括"、"包含"或者其任何其它变体意在涵盖非排它性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其它的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

Claims (10)

1.一种会话框实现方法,其特征在于,应用于Android终端,所述方法包括:
响应会话框的显示请求,从会话框布局文件中加载会话框视图对象,其中,所述会话框布局文件为可扩展标记语言文件,所述会话框视图对象中包括有多个视图元素;
通过窗口管理器将所述会话框视图对象加载到视窗中,并按照预设位置信息进行显示;
检测是否接收到对所述会话框视图对象的取消操作,在检测接收到对所述会话框视图对象的取消操作时,将所述会话框视图对象设置为隐藏状态,并将所述会话框视图对象中的状态信息进行保存。
2.根据权利要求1所述的会话框实现方法,其特征在于,在将所述会话框视图对象设置为隐藏状态,并将所述会话框视图对象中的状态信息进行保存之后,所述方法还包括:
在接收到对所述会话框视图对象的显示请求时,将所述会话框视图对象设置为可见状态,并将所述会话框视图对象中保存的状态信息进行显示。
3.根据权利要求1所述的会话框实现方法,其特征在于,所述从会话框布局文件中加载会话框视图对象,包括:
调用布局加载器将所述会话框布局文件加载到内存中;
在加载成功后,返回会话框视图对象。
4.根据权利要求1所述的会话框实现方法,其特征在于,在响应会话框的显示请求,从会话框布局文件中加载会话框视图对象之前,所述方法还包括:
通过窗口管理器对所述会话框视图对象的位置信息进行配置,其中,所述窗口管理器用于对窗口进行管理,所述窗口用于容纳页面对象或者视图对象。
5.根据权利要求1所述的会话框实现方法,其特征在于,所述通过窗口管理器将所述会话框视图对象加载到视窗中,并按照预设位置信息进行显示,包括:
获取所述会话框视图对象的预设位置信息;
通过窗口管理器将所述会话框视图对象加载到视窗中,并通过位置描述函数类按照所述预设位置信息将所述会话框视图对象作为单独页面进行显示。
6.根据权利要求1所述的会话框实现方法,其特征在于,会话框视图对象中包括有每个视图元素对应的标识符,所述通过窗口管理器将所述会话框视图对象按照预设位置信息进行显示之后,所述方法还包括:
接收对目标视图元素的定位请求,所述定位请求中包括有该目标视图元素的目标标识符;
根据所述目标标识符定位到对应的所述目标视图元素,以便于用户在所述目标视图元素中编辑状态信息。
7.一种会话框实现装置,其特征在于,应用于Android终端,所述装置包括:
加载模块,用于响应会话框的显示请求,从会话框布局文件中加载会话框视图对象,其中,所述会话框布局文件为可扩展标记语言文件,所述会话框视图对象中包括有多个视图元素;
显示模块,用于通过窗口管理器将所述会话框视图对象加载到视窗中,并按照预设位置信息进行显示;
隐藏设置模块,用于检测是否接收到对所述会话框视图对象的取消操作,在检测接收到对所述会话框视图对象的取消操作时,将所述会话框视图对象设置为隐藏状态,并将所述会话框视图对象中的状态信息进行保存。
8.根据权利要求7所述的会话框实现装置,其特征在于,所述装置还包括:
可见设置模块,用于在接收到对所述会话框视图对象的显示请求时,将所述会话框视图对象设置为可见状态,并将所述会话框视图对象中保存的状态信息进行显示。
9.根据权利要求7所述的会话框实现装置,其特征在于:
所述显示模块,还用于获取所述会话框视图对象的预设位置信息,再通过窗口管理器将所述会话框视图对象加载到视窗中,并通过位置描述函数类按照所述预设位置信息将所述会话框视图对象作为单独页面进行显示。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序被执行时实现权利要求1-6中任意一项所述的会话框实现方法。
CN201810001260.9A 2018-01-02 2018-01-02 会话框实现方法、装置及可读存储介质 Pending CN108205458A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810001260.9A CN108205458A (zh) 2018-01-02 2018-01-02 会话框实现方法、装置及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810001260.9A CN108205458A (zh) 2018-01-02 2018-01-02 会话框实现方法、装置及可读存储介质

Publications (1)

Publication Number Publication Date
CN108205458A true CN108205458A (zh) 2018-06-26

Family

ID=62606074

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810001260.9A Pending CN108205458A (zh) 2018-01-02 2018-01-02 会话框实现方法、装置及可读存储介质

Country Status (1)

Country Link
CN (1) CN108205458A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108829487A (zh) * 2018-06-28 2018-11-16 北京五八信息技术有限公司 一种弹窗的展示方法、装置、存储介质及终端
CN109683889A (zh) * 2018-12-26 2019-04-26 北京微播视界科技有限公司 消息展示框的复用方法、装置、电子设备及可读存储介质
CN112188271A (zh) * 2020-11-13 2021-01-05 四川长虹电器股份有限公司 一种智能电视的窗口层级配置方法
CN114217759A (zh) * 2021-12-10 2022-03-22 深圳Tcl新技术有限公司 投屏方法、装置、存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6100890A (en) * 1997-11-25 2000-08-08 International Business Machines Corporation Automatic bookmarks
CN103634682A (zh) * 2013-11-29 2014-03-12 乐视致新电子科技(天津)有限公司 智能电视中的全局设置实现方法及装置
CN105119816A (zh) * 2015-09-16 2015-12-02 北京梅泰诺通信技术股份有限公司 消息发送状态的处理方法及装置
US20160231902A1 (en) * 2015-02-06 2016-08-11 Jamdeo Canada Ltd. Methods and devices for display device notifications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6100890A (en) * 1997-11-25 2000-08-08 International Business Machines Corporation Automatic bookmarks
CN103634682A (zh) * 2013-11-29 2014-03-12 乐视致新电子科技(天津)有限公司 智能电视中的全局设置实现方法及装置
US20160231902A1 (en) * 2015-02-06 2016-08-11 Jamdeo Canada Ltd. Methods and devices for display device notifications
CN105119816A (zh) * 2015-09-16 2015-12-02 北京梅泰诺通信技术股份有限公司 消息发送状态的处理方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
WEIXIN_30699741: "自定义对话框", 《HTTPS://BLOG.CSDN.NET/WEIXIN_30699741/ARTICLE/DETAILS/99928762》 *
杨充: "Android 经典笔记七 全局弹窗Dialog", 《HTTPS://BLOG.CSDN.NET/M0_37700275/ARTICLE/DETAILS/78206834》 *
赵启朋: "《Android典型技术模块开发详解》", 31 August 2012 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108829487A (zh) * 2018-06-28 2018-11-16 北京五八信息技术有限公司 一种弹窗的展示方法、装置、存储介质及终端
CN109683889A (zh) * 2018-12-26 2019-04-26 北京微播视界科技有限公司 消息展示框的复用方法、装置、电子设备及可读存储介质
CN112188271A (zh) * 2020-11-13 2021-01-05 四川长虹电器股份有限公司 一种智能电视的窗口层级配置方法
CN112188271B (zh) * 2020-11-13 2021-08-06 四川长虹电器股份有限公司 一种智能电视的窗口层级配置方法
CN114217759A (zh) * 2021-12-10 2022-03-22 深圳Tcl新技术有限公司 投屏方法、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
CN109324787B (zh) 一种业务软件开发方法、装置及终端设备
CN108205458A (zh) 会话框实现方法、装置及可读存储介质
EP3504619B1 (en) Apparatus and method for managing notification
CN103729425B (zh) 操作响应方法、客户端、浏览器及系统
CN110533755A (zh) 一种场景渲染的方法以及相关装置
MX2008003406A (es) Efectos visuales extensibles en contenido activo en interfaces de usuario.
CN110069179A (zh) 图标控制方法及终端设备
CN109947650A (zh) 脚本步骤处理方法、装置和系统
CN108320148A (zh) 一种资源转移方法及相关设备
CN111782108B (zh) 游戏中的界面切换控制方法、装置、介质与设备
CN108984142A (zh) 分屏显示方法、装置、存储介质和电子设备
US20120272190A1 (en) Method and System for Graphically Enabled Service Oriented Architecture
CN106569812A (zh) 一种移动终端的应用程序通知处理方法及系统
CN106991036A (zh) 一种信息输入异常的提示方法和系统
CN105099871A (zh) 用于即时通信应用的通知方法和装置
Luostarinen et al. User-centered design of graphical user interfaces
CN117555534A (zh) 可视化组件联动交互的配置方法及装置、计算机设备
CN108614725A (zh) 一种界面显示方法及终端
CN117389647A (zh) 插件生成方法、应用程序开发方法、装置、设备及介质
CN116594616A (zh) 一种组件配置方法、装置及计算机可读存储介质
CN103853747A (zh) 一种声源网页的控制方法和装置
CN113117329B (zh) 游戏中的显示控制方法、装置、存储介质与电子设备
CN115617441A (zh) 绑定模型和图元的方法、装置、存储介质及计算机设备
CN115510508A (zh) 页面信息的防护方法、装置及电子设备
CN115501588A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180626

RJ01 Rejection of invention patent application after publication