买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】界面绘制方法、移动终端及计算机可读存储介质_OPPO广东移动通信有限公司_201710360773.4 

申请/专利权人:OPPO广东移动通信有限公司

申请日:2017-05-19

公开(公告)日:2021-02-23

公开(公告)号:CN107168712B

主分类号:G06F9/451(20180101)

分类号:G06F9/451(20180101);G06F3/0488(20130101)

优先权:

专利状态码:有效-授权

法律状态:2021.02.23#授权;2017.10.17#实质审查的生效;2017.09.15#公开

摘要:本发明实施例公开了一种界面绘制方法,应用于图形界面绘制技术领域,该方法包括:当界面布局的尺寸发生变化时,获取该界面所在的屏幕的尺寸;根据该屏幕的尺寸,确定该界面中待绘制子界面的布局类型,该布局类型为横屏界面或竖屏界面;根据该屏幕的类型、尺寸以及该布局类型,确定该待绘制子界面的尺寸;根据该布局类型及该待绘制子界面的尺寸,绘制该待绘制子界面。本发明实施例还公开了一种移动终端及计算机可读存储介质,可兼顾横、竖屏及分屏显示的情况,动态适配屏幕的尺寸变化,绘制出较为合适的界面,提高界面绘制的灵活性。

主权项:1.一种界面绘制方法,其特征在于,所述方法包括:当界面布局的尺寸发生变化时,获取所述界面所在的屏幕的尺寸;根据所述屏幕的尺寸,确定所述界面中待绘制子界面的布局类型,所述布局类型为横屏界面或竖屏界面,所述界面包括所述待绘制子界面及相邻的其他子界面;根据所述屏幕的类型、尺寸以及所述布局类型,确定所述待绘制子界面的尺寸,其中,所述屏幕的类型包括分屏屏幕及非分屏屏幕,所述待绘制子界面的尺寸包括所述非分屏屏幕中的竖屏尺寸、所述非分屏屏幕中的横屏尺寸、所述分屏屏幕中的竖屏尺寸以及所述分屏屏幕中的横屏尺寸;根据所述布局类型及所述待绘制子界面的尺寸,绘制所述待绘制子界面,或,绘制所述待绘制子界面和所述其他子界面。

全文数据:界面绘制方法、移动终端及计算机可读存储介质技术领域[0001]本发明属于图形界面绘制技术领域,尤其涉及一种界面绘制方法、移动终端及计算机可读存储介质。背景技术[0002]随着移动通信及计算机技术的发展,智能手机、平板电脑等移动终端的普及率越来越高,其功能也越来越强大。为帮助用户便捷地使用各项功能,移动终端需要根据各项功能的实际使用情况,绘制对应的UIUserInterface,用户界面)。以计算器功能为例,计算器的UI通常包括两部分:底部的键盘与上方用于显示通过键盘输入的字符以及计算结果的显示区域。其中键盘由固定的图片组成,显示区域的高度也是根据不同分辨率固定的,这样在横、竖屏切换显示时无法兼顾分屏显示的情况,因此无法动态适配屏幕的高度和宽度,也就无法根据当前屏幕的显示模式绘制出适配的计算器键盘界面。发明内容[0003]本发明提供一种界面绘制方法、移动终端及计算机可读存储介质,可以解决现有的计算器键盘界面绘制技术无法在横、竖屏切换显示时兼顾分屏显示的情况,动态适配屏幕的高度和宽度,绘制出适配的界面的技术问题。[0004]本发明实施例第一方面提供了一种界面绘制方法,包括:当界面布局的尺寸发生变化时,获取所述界面所在的屏幕的尺寸;根据所述屏幕的尺寸,确定所述界面中待绘制子界面的布局类型,所述布局类型为横屏界面或竖屏界面;根据所述屏幕的类型、尺寸以及所述布局类型,确定所述待绘制子界面的尺寸;根据所述布局类型及所述待绘制子界面的尺寸,绘制所述待绘制子界面。[0005]本发明实施例第二方面提供了一种移动终端,包括:尺寸获取模块,用于当界面布局的尺寸发生变化时,获取所述界面所在的屏幕的尺寸;布局类型确定模块,用于根据所述屏幕的尺寸,确定所述界面中待绘制子界面的布局类型,所述布局类型为横屏界面或竖屏界面;尺寸确定模块,用于根据所述屏幕的类型、尺寸以及所述布局类型,确定所述待绘制子界面的尺寸;绘制模块,用于根据所述布局类型及所述待绘制子界面的尺寸,绘制所述待绘制子界面。[0006]本发明实施例第三方面提供了一种移动终端,包括:存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述本发明实施例第一方面提供的界面绘制方法。[0007]本发明实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述本发明实施例第一方面提供的界面绘制方法。[0008]上述本发明实施例提供的界面绘制方法、移动终端及计算机可读存储介质,通过当界面布局的尺寸发生变化发生改变时,根据该界面所在屏幕的尺寸,确定该界面中待绘制子界面的布局类型,并根据该屏幕的类型、尺寸以及该布局类型,确定该待绘制子界面的尺寸,根据该布局类型及该待绘制子界面的尺寸,绘制该待绘制子界面。由于是在界面布局尺寸的变化时,动态调整待绘制子界面的尺寸,而界面布局尺寸的变化涵盖了横、竖屏切换变化及分屏屏幕尺寸变化等多种情况,因此可在横、竖屏切换显示时兼顾不同的屏幕类型,如分屏屏幕或非分屏屏幕,动态适配屏幕的高度和宽度,从而绘制出较为适配的界面,提高了界面绘制的灵活性。附图说明[0009]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。[0010]图1是本发明实施例提供的界面绘制方法的实现流程示意图;[0011]图2A〜2D是本发明实施例提供的界面绘制方法中四种不同模式下屏幕显示方式的不意图;[0012]图3是本发明实施例提供的界面绘制方法的实现流程示意图;[0013]图4是本发明实施例提供的移动终端的结构示意图;[00M]图5是本发明实施例提供的移动终端的结构示意图;[0015]图6示出了一种移动终端的硬件结构图。具体实施方式[0016]为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0017]请参阅图1,图1为本发明实施例提供的界面绘制方法的实现流程示意图,该方法可应用于移动终端中,移动终端包括:需要进行界面绘制的智能手机、平板电脑、笔记本电脑等可在移动中使用的电子数据处理设备。[0018]举例来说,本发明实施例典型的应用场景可以具有多个子界面的UI,且其中的至少一个子界面中的元素需要根据屏幕尺寸的变化而变化,如:电子计算器、输入法、播放器界面等,特别是电子计算器,其UI中的键盘界面一般具有横屏界面和竖屏界面两种,这两种界面中元素的数量、类别以及用途等有所不同,以适应不同的屏幕显示模式。以电子计算器为例,当移动终端的屏幕显示模式发生变化时,如图2A和图2B所示,从横屏显示变为竖屏显示时,或者,如图2C和图2D所示,分屏屏幕的尺寸因为用户在分屏边界的拖动操作而发生变化时,此时,可通过本发明实施例提供的界面绘制方法,对电子计算器的界面,特别是电子计算器中的键盘界面进行重新绘制。如图1所示,该方法主要包括以下步骤:[0019]S101、当界面布局的尺寸发生变化时,获取该界面所在的屏幕的尺寸;[0020]界面布局的尺寸可以是界面的绝对布局的尺寸和相对布局的尺寸。相对布局和绝对布局是界面的两种布局方式。其中,相对布局是指一个控件的位置是相对的,即,该控件的具体位置取决定于它和其他控件的关系,绝对布局则相反。[0021]界面布局的尺寸发生变化的原因,一般是因为屏幕的显示模式发生了变化,如:横屏显示变为竖屏显示;或者屏幕的类型发生了变化,如:从非分屏屏幕转变为分屏屏幕;或者,某个分屏屏幕的尺寸因为用户的拖动操作,而发生了变化。其中,分屏是指将屏幕分割为至少两个子屏幕,每个子屏幕上都单独运行着程序,彼此之间互不影响,且每个子屏幕的大小不一定是完全一致的。[0022]可以理解的,界面所在的屏幕可以是分屏屏幕(S卩,某个子屏幕)或非分屏屏幕即,整个屏幕)。界面布局的尺寸包括界面布局的高度和宽度,即,整个界面的高度和宽度。界面所在的屏幕的尺寸,即,界面所在的屏幕的高度和宽度。[0023]S102、根据该屏幕的尺寸,确定该界面中待绘制子界面的布局类型,该布局类型为横屏界面或竖屏界面;[0024]本实施例中,界面至少包括:待绘制子界面以及与待绘制子界面相邻的其他子界面。横屏界面,即该界面的宽度大于该界面的高度。竖屏界面,即该界面的高度大于该界面的宽度。[0025]具体的,根据屏幕的宽度和高度的比例(以下简称宽高比),确定待绘制子界面的布局类型。当屏幕的宽高比大于1时,确定待绘制子界面的布局类型为宽屏界面。当屏幕的宽高比小于等于1时,确定待绘制子界面的布局类型为竖屏界面。[0026]S103、根据该屏幕的类型、尺寸以及待绘制子界面的布局类型,确定待绘制子界面的尺寸;[0027]具体的,屏幕的类型可以但不限于包括分屏屏幕和非分屏屏幕。根据屏幕的类型、尺寸以及待绘制子界面的布局类型,待绘制子界面的尺寸例如:可以但不限于包括:非分屏屏幕中的竖屏尺寸、非分屏屏幕中的横屏尺寸、分屏屏幕中的竖屏尺寸以及分屏屏幕中的横屏尺寸四种。[0028]在实际应用中,可将上述几种尺寸预设在移动终端中,移动终端根据待绘制子界面的布局类型及分屏状态,在预设的尺寸中查询得到最适配的尺寸,并根据查询得到的尺寸对待绘制子界面进行绘制。[0029]或者,当界面中包含多个相互关联或相邻的子界面时,也可以根据该界面所在屏幕的类型和待绘制子界面的布局类型,确定整个界面中与待绘制子界面关联或相邻的其他子界面的尺寸,然后根据该屏幕的尺寸和其他子界面的尺寸,确定待绘制子界面的尺寸。[0030]S104、根据确定出的待绘制子界面的布局类型及尺寸,绘制该待绘制子界面。[0031]可以理解的,也可以在绘制待绘制子界面的同时,根据需要,选择绘制与待绘制子界面相邻的一个或多个其他子界面。[0032]本发明实施例中,通过当界面布局的尺寸发生变化发生改变时,根据该界面所在屏幕的尺寸,确定该界面中待绘制子界面的布局类型,并根据该屏幕的类型、尺寸以及该布局类型,确定该待绘制子界面的尺寸,根据该布局类型及该待绘制子界面的尺寸,绘制该待绘制子界面。由于是在界面布局尺寸的变化时,动态调整待绘制子界面的尺寸,而界面布局尺寸的变化涵盖了横、竖屏切换变化及分屏屏幕尺寸变化等多种情况,因此可在横、竖屏切换显示时兼顾不同的屏幕类型,如分屏屏幕或非分屏屏幕,动态适配屏幕的高度和宽度,从而绘制出较为适配的界面,提高了界面绘制的灵活性。[0033]请参阅图3,图3为本发明实施例提供的界面绘制方法的实现流程示意图,移动终端包括:需要进行界面绘制的智能手机、平板电脑、笔记本电脑等可在移动中使用的电子数据处理设备。[0034]举例来说,本发明实施例典型的应用场景可以具有多个子界面的UI,且其中的至少一个子界面中的元素需要根据屏幕尺寸的变化而变化,如:电子计算器、输入法、播放器界面等,特别是电子计算器,其UI中的键盘界面一般具有横屏界面和竖屏界面两种,这两种界面中元素的数量、类别以及用途等有所不同,以适应不同的屏幕显示模式。以电子计算器为例,当移动终端的屏幕显示模式发生变化时,如图2A和图2B所示,从横屏显示变为竖屏显示时,或者,如图2C和图2D所示,分屏屏幕的尺寸因为用户在分屏边界的拖动操作而发生变化时,此时,可通过本发明实施例提供的界面绘制方法,对电子计算器的界面,特别是电子计算器中的键盘界面进行重新绘制。如图3所示,该方法包括以下步骤:[0035]S201、通过预设的回调函数,监听界面布局的尺寸是否发生变化;[0036]S202、当界面布局的尺寸发生变化时,获取界面所在的屏幕的高度和宽度;[0037]于本实施例中,界面至少包括:待绘制子界面以及与待绘制子界面相邻的其他子界面。本实施例中的界面布局可以是相对布局也可以是绝对布局,较佳地,为相对布局RelativeLayout布局)。[0038]具体的,可通过复写onSizeChanged的方式,自定义整个界面的RelativeLayout布局。其中,复写override,即覆盖或者重写。同时,在ReIativeLayout布局的Activity中设置监听回调函数,利用监听回调函数监听RelativeLayout布局的尺寸是否发生改变。例如,可通过在Activity中添加SizeChangedListener函数来监听ReIativeLayout布局的大小的改变,并当监听到界面布局的尺寸发生变化时,获取界面所在的屏幕的尺寸。[0039]界面布局的尺寸发生变化的原因,一般是因为屏幕的显示模式发生了变化,如:横屏显示变为竖屏显示;或者屏幕的类型发生了变化,如:从非分屏屏幕转变为分屏屏幕;或者,某个分屏屏幕的尺寸因为用户的拖动操作,而发生了变化。其中,界面布局的尺寸包括界面布局的高度和宽度,即,整个界面的高度和宽度。分屏是指将屏幕分割为至少两个子屏幕,每个子屏幕上都单独运行着程序,彼此之间互不影响,且每个子屏幕的大小不一定是完全一致的。在实际应用中,界面所在的屏幕可以是分屏屏幕或非分屏屏幕。[0040]S203、根据屏幕的高度和宽度,确定界面中待绘制子界面的布局类型;[0041]布局类型为横屏界面或竖屏界面。其中横屏界面,即界面的宽度大于界面的高度。竖屏界面,即界面的高度大于界面的宽度。可选的,当待绘制子界面为横屏界面时,待绘制子界面中的元素多于竖屏界面时待绘制子界面中的元素。[0042]具体的,当界面布局的尺寸发生变化时,通过动态获取屏幕的高度和宽度,并比较二者的大小,确定需要按照哪一种类型的界面形式,绘制界面中的待绘制子界面。若屏幕的高度小于屏幕的宽度,则将界面中待绘制子界面的布局类型确定为横屏界面。若屏幕的高度大于屏幕的宽度,则将界面中待绘制子界面的布局类型确定为竖屏界面。以电子计算器为例,当屏幕的高度小于其宽度时,确定该电子计算器的键盘的界面为横屏键盘界面,即,需要按照横屏键盘的形式来绘制该键盘的界面;当屏幕的高度大于其宽度时,确定该电子计算器的键盘的界面为横屏键盘界面,即,需要按照横屏键盘的形式来绘制该键盘的界面。[0043]S204、从预设的多个高度中,查找与待绘制子界面的布局类型及屏幕的类型对应的,界面中除待绘制子界面之外的其他子界面的高度;[0044]于本实施例中,其他子界面为界面中紧邻在待绘制子界面上方或下方的界面。屏幕的类型包括非分屏屏幕和分屏屏幕。可选的,在查找高度之前,利用反射机制获取屏幕的类型,即判断当前是否处于分屏模式,待绘制子界面所在的屏幕是否为分屏屏幕。[0045]Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法。利用反射机制可以避免因其他判断方法无法兼容不同版本的操作系统,而导致系统在判断过程中发生崩溃情况的出现,提高本发明实施例提供的绘制方法的兼容性。在一实际应用例中,例如可通过如下代码实现利用反射机制,判断当前屏幕是否同时处于分屏模式。[0046][0048]可以理解的,上述代码仅为一种示例,在实际应用中,可不限于此。[0049]具体的,根据待绘制子界面的布局类型以及屏幕的类型,可以包括以下四种情况:非分屏屏幕中的竖屏、非分屏屏幕中的横屏、分屏屏幕中的竖屏以及分屏屏幕中的横屏。在移动终端中预设多个分别与上述四种情况一一对应的,其他子界面的高度。则,当待绘制子界面的布局类型为横屏界面,且当前屏幕为分屏屏幕时,从预设的多个高度中,查找与横屏界面及分屏屏幕对应的其他子界面的高度。当待绘制子界面的布局类型为竖屏界面,且当前屏幕为分屏屏幕时,从预设的多个高度中,查找与竖屏界面及分屏屏幕对应的其他子界面的高度。当待绘制子界面的布局类型为横屏界面,且当前屏幕为非分屏屏幕时,从预设的多个高度中,查找与横屏界面及非分屏屏幕对应的其他子界面的高度。当待绘制子界面的布局类型为竖屏界面,且当前屏幕为非分屏屏幕时,从预设的多个高度中,查找与竖屏界面及非分屏屏幕对应的其他子界面的高度。[0050]可选的,可将不同分辨率下的其他子界面的高度分别写死在不同的文件夹下。例如,将非1080pProgressivescanning,逐行扫描对应的高度写死在values文件夹下,将1080p对应的高度写死在values-xxhdpi文件夹下。在查找高度时,先确定当前其他子界面所在分屏屏幕的分辨率,然后在与该分屏屏幕的分辨率对应的文件夹下对其他子界面的高度进行查找。[0051]S205、将屏幕的高度减去其他子界面的高度后得到的高度,确定为待绘制子界面的高度,并将屏幕的宽度确定为待绘制子界面的宽度;[0052]上述待绘制子界面的确定方法,可以适配所有的布局类型及屏幕类型的任意组合,因此可以兼容支持不同屏幕类型的移动终端,特别是某些不支持分屏屏幕的移动终端,具有较高的兼容性。[0053]S206、根据确定出的待绘制子界面的布局类型、宽度和高度,绘制待绘制子界面。[0054]为进一步说明上述待绘制子界面尺寸的确定方法,以电子计算器为例,电子计算器一般由上方的显示界面和下方的键盘界面构成,其中显示界面用于显示输入的字符和计算结果,键盘界面用于输入字符。在移动终端中预设该显示界面的多个高度。预设的高度分别对应于:非分屏屏幕中的横屏界面(如图2A所示)、非分屏屏幕中的竖屏界面如图2B所示)、分屏屏幕中的横屏界面(如图2C所示)以及分屏屏幕中的竖屏界面如图2D所示这四种情况。[0055]假设电子计算器界面布局的尺寸发生变化后,若经过确认,键盘界面的布局类型应更改为横屏界面,且电子计算器位于某个分屏屏幕,则从预设的显示界面的各高度中,查找与横屏界面和分屏屏幕对应的高度H1。然后,将电子计算器所在分屏屏幕的高度H与查询得到的高度Hl相减,即为此时键盘界面的高度H2=H-H1。再然后,根据所在分屏屏幕的宽度,按照预设的适配规则,自动适配键盘界面的宽度,例如,以该分屏屏幕的宽度作为键盘界面的宽度W2;或者,以该分屏屏幕的宽度减去预设的偏移值后得到的值,作为键盘界面的宽度W2。最后,根据H2和W2以及预设的横屏界面的布局参数对键盘界面进行绘制。其中,布局参数可以但不限于包括:界面中包含的元素的大小、各元素在界面中的位置、类型、调用地址等等。以键盘界面为例,布局参数可以包括:在键盘界面中的哪些位置放置什么样的字符图形,界面背景使用什么样的图片,从哪里调用该图片等等。[0056]本发明实施例中,通过实时监听界面布局尺寸的变化,当界面布局的尺寸发生变化发生改变时,根据该界面所在屏幕的尺寸,确定该界面中待绘制子界面的布局类型,并根据该屏幕的类型、尺寸以及该布局类型,确定该待绘制子界面的尺寸,根据该布局类型及该待绘制子界面的尺寸,绘制该待绘制子界面。由于是在界面布局尺寸的变化时,动态调整待绘制子界面的尺寸,而界面布局尺寸的变化涵盖了横、竖屏切换变化及分屏屏幕尺寸变化等多种情况,因此可在横、竖屏切换显示时兼顾不同的屏幕类型,如分屏屏幕或非分屏屏幕,动态适配屏幕的高度和宽度,从而绘制出较为适配的界面,提高了界面绘制的灵活性。[0057]请参阅图4,图4是本发明实施例提供的移动终端的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。图4示例的移动终端可以是前述图1所示实施例提供的界面绘制方法的执行主体。图4示例的移动终端,主要包括:[0058]尺寸获取模块301,用于当界面布局的尺寸发生变化时,获取该界面所在的屏幕的尺寸;[0059]布局类型确定模块302,用于根据该屏幕的尺寸,确定该界面中待绘制子界面的布局类型,该布局类型为横屏界面或竖屏界面;[0060]尺寸确定模块303,用于根据该屏幕的类型、尺寸以及该布局类型,确定该待绘制子界面的尺寸;[0061]绘制模块304,用于根据该布局类型及该待绘制子界面的尺寸,绘制该待绘制子界面。[0062]具体的,当界面布局的尺寸发生变化时,通过尺寸获取模块301获取该界面所在的屏幕的尺寸。然后,通过布局类型确定模块302根据该屏幕的尺寸,确定该界面中待绘制子界面的布局类型,该布局类型为横屏界面或竖屏界面。接着,通过尺寸确定模块303根据该屏幕的类型、尺寸以及该布局类型,确定该待绘制子界面的尺寸。最后,通过绘制模块304根据该布局类型及该待绘制子界面的尺寸,绘制该待绘制子界面。[0063]其中,界面布局的尺寸可以是界面的绝对布局的尺寸和相对布局的尺寸。界面所在的屏幕可以是分屏屏幕即,某个子屏幕或非分屏屏幕即,整个屏幕)。[0064]可选的,通过布局类型确定模块302,根据屏幕的宽度和高度的比例(以下简称宽高比),确定待绘制子界面的布局类型。当屏幕的宽高比大于1时,确定待绘制子界面的布局类型为宽屏界面。当屏幕的宽高比小于等于1时,确定待绘制子界面的布局类型为竖屏界面。[0065]可选的,根据屏幕的类型、尺寸以及待绘制子界面的布局类型,待绘制子界面的尺寸可以但不限于包括:非分屏屏幕中的竖屏尺寸、非分屏屏幕中的横屏尺寸、分屏屏幕中的竖屏尺寸以及分屏屏幕中的横屏尺寸四种。[0066]在实际应用中,可通过绘制模块304将上述几种尺寸预设在移动终端中,通过尺寸确定模块303根据待绘制子界面的布局类型及分屏状态,在预设的尺寸中查询得到最适配的尺寸,并通过绘制模块304根据查询得到的尺寸对待绘制子界面进行绘制。或者,当界面中包含多个相互关联或相邻的子界面时,也可以通过尺寸确定模块303根据该界面所在屏幕的类型和待绘制子界面的布局类型,确定整个界面中与待绘制子界面关联或相邻的其他子界面的尺寸,然后根据该屏幕的尺寸和其他子界面的尺寸,确定待绘制子界面的尺寸。[0067]可选的,绘制模块304在绘制待绘制子界面的同时,根据需要,选择绘制与该与待绘制子界面相邻的一个或多个其他子界面。[0068]本实施例未尽之细节,请参阅前述图1所示实施例的描述,此处不再赘述。[0069]需要说明的是,以上图4示例的移动终端的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将移动终端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成。本说明书提供的各个实施例都可应用上述描述原则,以下不再赘述。[0070]本发明实施例中,通过当界面布局的尺寸发生变化发生改变时,根据该界面所在屏幕的尺寸,确定该界面中待绘制子界面的布局类型,并根据该屏幕的类型、尺寸以及该布局类型,确定该待绘制子界面的尺寸,根据该布局类型及该待绘制子界面的尺寸,绘制该待绘制子界面。由于是在界面布局尺寸的变化时,动态调整待绘制子界面的尺寸,而界面布局尺寸的变化涵盖了横、竖屏切换变化及分屏屏幕尺寸变化等多种情况,因此可在横、竖屏切换显示时兼顾不同的屏幕类型,如分屏屏幕或非分屏屏幕,动态适配屏幕的高度和宽度,从而绘制出较为适配的界面,提高了界面绘制的灵活性。[0071]请参阅图5,本发明实施例提供的移动终端的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。图5示例的移动终端可以是前述图1至图3所示实施例提供的界面绘制方法的执行主体。图5示例的移动终端,与图4所示实施例中的移动终端的不同之处主要在于:[0072]进一步地,该尺寸包括宽度和高度,则尺寸确定模块303包括:[0073]查找模块3031,用于从预设的多个高度中,查找与该屏幕的类型及该布局类型对应的,该界面中除该待绘制子界面之外的其他子界面的高度,该其他子界面为该界面中紧邻在该待绘制子界面上方或下方的界面;[0074]确定模块3032,用于将该屏幕的高度减去该其他子界面的高度后得到的高度,确定为该待绘制子界面的高度,并将该屏幕的宽度确定为该待绘制子界面的宽度;[0075]其中,当该屏幕的类型为分屏屏幕时,查找模块3031具体用于当该布局类型为横屏界面时,从预设的多个高度中,查找与该横屏界面及该分屏屏幕对应的该其他子界面的高度,以及当该布局类型为竖屏界面时,从该预设的多个高度中,查找与该竖屏界面及该分屏屏幕对应的该其他子界面的高度;[0076]当该屏幕的类型为非分屏屏幕时,查找模块3031还具体用于当该布局类型为横屏界面时,从该预设的多个高度中,查找与该横屏界面及该非分屏屏幕对应的该其他子界面的高度,以及当该布局类型为竖屏界面时,从该预设的多个高度中,查找与该竖屏界面及该非分屏屏幕对应的该其他子界面的高度。[0077]进一步地,布局类型确定模块302,具体用于比较该屏幕的高度和宽度的大小,若该高度小于该宽度,则将该布局类型确定为该横屏界面,以及若该高度大于该宽度,则将该布局类型确定为该竖屏界面。[0078]进一步地,该移动终端还包括:[0079]监听模块401,用于通过预设的回调函数,监听该界面布局的尺寸是否发生变化。[0080]具体的,调用监听模块401通过复写onSizeChanged的方式,自定义整个界面的RelativeLayout布局。同时,在RelativeLayout布局的Activity中设置监听回调函数,利用监听回调函数监听RelativeLayout布局的尺寸是否发生改变。例如,可通过在Activity中添加SizeChangedListener函数来监听RelativeLayout布局的大小的改变,并当监听到界面布局的尺寸发生变化时,通过尺寸获取模块301获取界面所在的屏幕的尺寸。[0081]然后,通过布局类型确定模块302比较获取的屏幕的高度和宽度的大小,若该高度小于该宽度,则将该布局类型确定为该横屏界面,以及若该高度大于该宽度,则将该布局类型确定为该竖屏界面。[0082]可选的,于本发明其他一实施例中,该移动终端还可包括判断模块,用于在监听到该界面布局的尺寸发生变化之后,利用反射机制判断该屏幕的类型,即判断当前是否处于分屏模式,待绘制子界面所在的屏幕是否为分屏屏幕。[0083]然后,通过查找模块3031从预设的多个高度中,查找与该屏幕的类型及该布局类型对应的,该界面中除该待绘制子界面之外的其他子界面的高度,该其他子界面为该界面中紧邻在该待绘制子界面上方或下方的界面。通过确定模块3032,将该屏幕的高度减去该其他子界面的高度后得到的高度,确定为该待绘制子界面的高度,并将该屏幕的宽度确定为该待绘制子界面的宽度。[0084]可选的,也可通过确定模块3032根据所在分屏屏幕的宽度,按照预设的其他适配规则,自动适配键盘界面的宽度,例如,以该分屏屏幕的宽度减去预设的偏移值后得到的值,作为待绘制子界面的宽度。[0085]可选的,于本发明其他一实施例中,该移动终端还可包括配置模块,用于将不同分辨率下的其他子界面的高度分别写死在不同的文件夹下。例如,将非IOSOp对应的高度写死在values文件夹下,将1080p对应的高度写死在values-xxhdpi文件夹下。在查找高度时,通过确定模块3032先确定当前其他子界面所在分屏屏幕的分辨率,然后在与该分屏屏幕的分辨率对应的文件夹下对其他子界面的高度进行查找。[0086]本实施例未尽之细节,请参阅前述图1至图4所示实施例的描述,此处不再赘述。[0087]本发明实施例中,通过实时监听界面布局尺寸的变化,当界面布局的尺寸发生变化发生改变时,根据该界面所在屏幕的尺寸,确定该界面中待绘制子界面的布局类型,并根据该屏幕的类型、尺寸以及该布局类型,确定该待绘制子界面的尺寸,根据该布局类型及该待绘制子界面的尺寸,绘制该待绘制子界面。由于是在界面布局尺寸的变化时,动态调整待绘制子界面的尺寸,而界面布局尺寸的变化涵盖了横、竖屏切换变化及分屏屏幕尺寸变化等多种情况,因此可在横、竖屏切换显示时兼顾不同的屏幕类型,如分屏屏幕或非分屏屏幕,动态适配屏幕的高度和宽度,从而绘制出较为适配的界面,提高了界面绘制的灵活性。[0088]请参阅图6,图6为本发明实施例提供的移动终端的硬件结构图。[0089]本实施例中所描述的移动终端,包括:[0090]存储器51、处理器52及存储在存储器51上并可在处理器上运行的计算机程序,处理器执行所述程序时实现前述图1〜图5所示实施例中描述的界面绘制方法。[0091]进一步地,该移动终端还包括:[0092]至少一个输入设备53;至少一个输出设备54。[0093]上述存储器51、处理器52输入设备53和输出设备54通过总线55连接。[0094]其中,输入设备53具体可为摄像头、触控面板、物理按键或者鼠标等等。输出设备54具体可为显示屏。[0095]存储器51可以是高速随机存取记忆体RAM,RandomAccessMemory存储器,也可为非不稳定的存储器non-volatilememory,例如磁盘存储器。存储器51用于存储一组可执行程序代码,处理器52与存储器51耦合。[0096]进一步地,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是设置于上述各实施例中的移动终端中,该计算机可读存储介质可以是前述图6所示实施例中的存储器。该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现前述图1〜图3所示实施例中描述的界面绘制方法。进一步地,该计算机可存储介质还可以是U盘、移动硬盘、只读存储器R0M,Read-0nlyMemory、随机存取存储器RAM,RandomAccessMemory、磁碟或者光盘等各种可以存储程序代码的介质。[0097]在本申请所提供的多个实施例中,应该理解到,所揭露的移动终端和方法,可以通过其它的方式实现。例如,以上所描述的实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信链接可以是通过一些接口,模块的间接耦合或通信链接,可以是电性,机械或其它的形式。[0098]所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。[0099]另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。[0100]需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。[0101]在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。[0102]以上为对本发明所提供的界面绘制方法、移动终端及计算机可读存储介质的描述,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

权利要求:1.一种界面绘制方法,其特征在于,所述方法包括:当界面布局的尺寸发生变化时,获取所述界面所在的屏幕的尺寸;根据所述屏幕的尺寸,确定所述界面中待绘制子界面的布局类型,所述布局类型为横屏界面或竖屏界面;根据所述屏幕的类型、尺寸以及所述布局类型,确定所述待绘制子界面的尺寸;根据所述布局类型及所述待绘制子界面的尺寸,绘制所述待绘制子界面。2.如权利要求1所述的界面绘制方法,其特征在于,所述尺寸包括宽度和高度,则所述根据所述屏幕的类型、尺寸以及所述布局类型,确定所述待绘制子界面的尺寸,包括:从预设的多个高度中,查找与所述屏幕的类型及所述布局类型对应的,所述界面中除所述待绘制子界面之外的其他子界面的高度,所述其他子界面为所述界面中紧邻在所述待绘制子界面上方或下方的界面;将所述屏幕的高度减去所述其他子界面的高度后得到的高度,确定为所述待绘制子界面的高度,并将所述屏幕的宽度确定为所述待绘制子界面的宽度。3.如权利要求2所述的界面绘制方法,其特征在于,当所述屏幕的类型为分屏屏幕时,所述从预设的多个高度中,查找与所述屏幕的类型及所述布局类型对应的,所述界面中除所述待绘制子界面之外的其他子界面的高度,具体包括:当所述布局类型为所述横屏界面时,从所述预设的多个高度中,查找与所述横屏界面及所述分屏屏幕对应的所述其他子界面的高度;当所述布局类型为所述竖屏界面时,从所述预设的多个高度中,查找与所述竖屏界面及所述分屏屏幕对应的所述其他子界面的高度。4.如权利要求2所述的界面绘制方法,其特征在于,当所述屏幕的类型为非分屏屏幕时,所述从预设的多个高度中,查找与所述屏幕的类型及所述布局类型对应的,所述界面中除所述待绘制子界面之外的其他子界面的高度,具体包括:当所述布局类型为所述横屏界面时,从所述预设的多个高度中,查找与所述横屏界面及所述非分屏屏幕对应的所述其他子界面的高度;当所述布局类型为所述竖屏界面时,从所述预设的多个高度中,查找与所述竖屏界面及所述非分屏屏幕对应的所述其他子界面的高度。5.如权利要求1至4中任一项所述的界面绘制方法,其特征在于,所述根据所述屏幕的尺寸,确定所述界面中待绘制子界面的布局类型,所述布局类型为横屏界面或竖屏界面,包括:比较所述屏幕的高度和宽度的大小;若所述高度小于所述宽度,则将所述布局类型确定为所述横屏界面;若所述高度大于所述宽度,则将所述布局类型确定为所述竖屏界面。6.如权利要求1所述的界面绘制方法,其特征在于,所述当界面布局的尺寸发生变化时,获取所述界面所在的屏幕的尺寸之前,包括:通过预设的回调函数,监听所述界面布局的尺寸是否发生变化。7.—种移动终端,其特征在于,所述移动终端包括:尺寸获取模块,用于当界面布局的尺寸发生变化时,获取所述界面所在的屏幕的尺寸;布局类型确定模块,用于根据所述屏幕的尺寸,确定所述界面中待绘制子界面的布局类型,所述布局类型为横屏界面或竖屏界面;尺寸确定模块,用于根据所述屏幕的类型、尺寸以及所述布局类型,确定所述待绘制子界面的尺寸;绘制模块,用于根据所述布局类型及所述待绘制子界面的尺寸,绘制所述待绘制子界面。8.如权利要求7所述的移动终端,其特征在于,所述尺寸包括宽度和高度,则所述尺寸确定t吴块包括:查找模块,用于从预设的多个高度中,查找与所述屏幕的类型及所述布局类型对应的,所述界面中除所述待绘制子界面之外的其他子界面的高度,所述其他子界面为所述界面中紧邻在所述待绘制子界面上方或下方的界面;确定模块,用于将所述屏幕的高度减去所述其他子界面的高度后得到的高度,确定为所述待绘制子界面的高度,并将所述屏幕的宽度确定为所述待绘制子界面的宽度;其中,当所述屏幕的类型为分屏屏幕时,所述查找模块具体用于当所述布局类型为所述横屏界面时,从所述预设的多个高度中,查找与所述横屏界面及所述分屏屏幕对应的所述其他子界面的高度,以及当所述布局类型为所述竖屏界面时,从所述预设的多个高度中,查找与所述竖屏界面及所述分屏屏幕对应的所述其他子界面的高度;当所述屏幕的类型为非分屏屏幕时,所述查找模块还具体用于当所述布局类型为所述横屏界面时,从所述预设的多个高度中,查找与所述横屏界面及所述非分屏屏幕对应的所述其他子界面的高度,以及当所述布局类型为所述竖屏界面时,从所述预设的多个高度中,查找与所述竖屏界面及所述非分屏屏幕对应的所述其他子界面的高度。9.如权利要求7或8所述的移动终端,其特征在于,所述布局类型确定模块,具体用于比较所述屏幕的高度和宽度的大小,若所述高度小于所述宽度,则将所述布局类型确定为所述横屏界面,以及若所述高度大于所述宽度,则将所述布局类型确定为所述竖屏界面;所述移动终端还包括:监听模块,用于通过预设的回调函数,监听所述界面布局的尺寸是否发生变化。10.—种移动终端,包括:存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述的界面绘制方法。11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述的界面绘制方法。

百度查询: OPPO广东移动通信有限公司 界面绘制方法、移动终端及计算机可读存储介质

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。