CN109885373B - 一种用户界面的渲染方法和装置 - Google Patents
一种用户界面的渲染方法和装置 Download PDFInfo
- Publication number
- CN109885373B CN109885373B CN201910146557.9A CN201910146557A CN109885373B CN 109885373 B CN109885373 B CN 109885373B CN 201910146557 A CN201910146557 A CN 201910146557A CN 109885373 B CN109885373 B CN 109885373B
- Authority
- CN
- China
- Prior art keywords
- display
- screen
- mode
- bang
- display area
- 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
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明实施例公开了一种用户界面的渲染方法,在展示运行对象的UI之前,确定用于展示该用户界面的显示屏幕的类型,若为异形屏,确定针对该运行对象的屏幕显示模式,在确定该屏幕显示模式为目标模式后,通过调用该目标模式对应的显示边沿接口,将该运行对象在该显示屏幕上对应的显示区域修改为符合该目标模式。也就是说,修改后的显示区域的形状,满足该目标模式要求的显示形状特点,从而按照原本的相对位置渲染该运行对象的UI也不会出现UI显示不全、被遮挡的情况。通过修改得到符合屏幕显示模式的显示区域方式,在UI渲染时,不再需要针对不同形状显示区域统一调整UI相对渲染位置,降低了在不同形状显示区域中渲染UI的***处理负担。
Description
技术领域
本发明涉及数据处理领域,特别是涉及一种用户界面的渲染方法和装置。
背景技术
随着显示技术的发展,智能终端的显示屏幕也越发具有多样性。具有不同形状显示区域的显示屏幕应运而生,例如异形屏。异形屏属于一种显示区域边沿不规则的显示屏幕,例如智能手机领域目前常见的刘海屏就属于一种异形屏,由于智能手机的正面顶部设置了摄像头、传感器等元件,使得正面顶部有一部分非显示区域,而该非显示区域两侧依然为显示区域。
智能终端可以运行程序或应用,并通过程序、应用在显示屏幕上展示的用户界面(User Interface,UI)与用户进行交互。由于异形屏的不规则显示区域,需要避免UI被非显示区域遮挡,造成交互困难或无法交互的问题。
为此,目前所采用的方式是,在程序、应用在显示屏幕上展示UI前,修改UI相对于显示区域的渲染位置,统一将UI的渲染位置向显示屏幕中心方向移动后,再进行UI渲染,以此避免原本位于显示屏幕边缘的UI不会由于异形屏而出现遮挡。
然而,这种方式导致每次展示UI前,都需要更改UI相对于显示区域的渲染位置,增加了***处理负担。
发明内容
为了解决上述技术问题,本发明实施例提供了一种用户界面的渲染方法和装置,不再需要针对不同形状显示区域统一调整UI相对渲染位置,降低了在不同形状显示区域中渲染UI的***处理负担。
本发明实施例公开了如下技术方案:
第一方面,本发明实施例提供一种用户界面的渲染方法,所述方法包括:
确定显示屏幕的类型,所述显示屏幕用于展示运行对象的用户界面;
若所述显示屏幕为异形屏,确定针对所述运行对象的屏幕显示模式;
若所述屏幕显示模式为目标模式,通过调用所述目标模式对应的显示边沿接口,将所述运行对象在所述显示屏幕上对应的显示区域修改为符合所述目标模式;
在修改后的显示区域内渲染所述用户界面。
第二方面,本发明实施例提供一种用户界面的渲染装置,所述装置包括第一确定单元、第二确定单元、修改单元和渲染单元:
所述第一确定单元,用于确定显示屏幕的类型,所述显示屏幕用于展示运行对象的用户界面;
所述第二确定单元,用于若所述第一确定单元确定所述显示屏幕为异形屏,确定针对所述运行对象的屏幕显示模式;
所述修改单元,用于若所述第二确定单元确定所述屏幕显示模式为目标模式,通过调用所述目标模式对应的显示边沿接口,将所述运行对象在所述显示屏幕上对应的显示区域修改为符合所述目标模式;
所述渲染单元,用于在修改后的显示区域内渲染所述用户界面。
第三方面,本发明实施例提供一种用于用户界面的渲染设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行第一方面所述的用户界面的渲染方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面所述的用户界面的渲染方法。
由上述技术方案可以看出,在展示运行对象的UI之前,确定用于展示该用户界面的显示屏幕的类型,若为异形屏,确定针对该运行对象的屏幕显示模式,在确定该屏幕显示模式为目标模式后,通过调用该目标模式对应的显示边沿接口,将该运行对象在该显示屏幕上对应的显示区域修改为符合该目标模式。也就是说,修改后的显示区域的形状,满足该目标模式要求的显示形状特点,从而按照原本的相对位置渲染该运行对象的UI也不会出现UI显示不全、被遮挡的情况。通过修改得到符合屏幕显示模式的显示区域方式,在UI渲染时,不再需要针对不同形状显示区域统一调整UI相对渲染位置,降低了在不同形状显示区域中渲染UI的***处理负担。而且,通过本方式渲染出的UI布局,相对于统一向显示屏幕中心方向移动渲染位置而渲染的UI布局,更符合当前屏幕显示模式下的显示区域形状特点,提高了用户的使用体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为根据传统方式对用户界面渲染后得到的游戏界面图示例图;
图2为本发明实施例提供的一种用户界面的渲染方法的应用场景示例图;
图3为本发明实施例提供的一种用户界面的渲染方法的流程图;
图4a为本发明实施例提供的显示刘海模式下的显示区域示例图;
图4b为本发明实施例提供的隐藏刘海模式下的显示区域示例图;
图5a为本发明实施例提供的显示刘海模式下渲染UI后得到的游戏界面图;
图5b为本发明实施例提供的隐藏刘海模式下渲染UI后得到的游戏界面图;
图6为本发明实施例提供的运行对象从启动到关闭的周期示例图;
图7为本发明实施例提供的智能终端的视图布局;
图8为本发明实施例提供的一种用户界面的渲染方法的流程图;
图9a为本发明实施例提供的一种用户界面的渲染装置的结构图;
图9b为本发明实施例提供的一种用户界面的渲染装置的结构图;
图9c为本发明实施例提供的一种用户界面的渲染装置的结构图;
图10为本发明实施例提供的一种用于用户界面的渲染设备的结构图;
图11为本发明实施例提供的服务器的结构图。
具体实施方式
下面结合附图,对本发明的实施例进行描述。
传统的用户界面渲染方法,由于异形屏一般都是将显示屏幕边缘的某一部分设置为非显示区域,因此,在每次展示UI前,都需要更改UI相对于显示区域的渲染位置,统一将UI的渲染位置向显示屏幕中心方向移动,使得渲染的UI布局难以符合当前屏幕显示模式下的显示区域形状特点。另外,由于显示屏幕上可能存在很多UI,在移动UI的渲染位置时需要考虑到所有的UI,尤其是靠近显示屏幕边缘的所有UI,工作繁琐,容易遗漏,增加了***处理负担。
如图1所示,图1示出了一种游戏界面图,该游戏界面上包括多个UI,分别如101、102……107所示。从图1可以看出,用于显示游戏界面的智能手机的显示屏幕为刘海屏,其刘海部分如108所示。为了避免刘海屏在不同屏幕显示模式下UI不被遮挡,所有UI的渲染位置向显示屏幕中心方向移动,尽量避免在靠近显示屏幕边缘的位置渲染UI。由于统一向显示屏幕中心方向移动UI的渲染位置,即使刘海部分两侧存在显示区域,该显示区域也不会渲染UI,进而导致渲染的UI布局不符合当前屏幕显示模式下的显示区域形状特点。
另外,由于统一向显示屏幕中心方向移动UI的渲染位置属于上层操作,需要关注每个UI,工作繁琐,容易遗漏。且由于统一向显示屏幕中心方向移动UI的渲染位置,可能使得UI在上层的显示位置与UI在底层对应的实际位置存在偏差,即使用户对某个UI进行操作,由于偏差的存在,导致底层无法对用户的操作做出反应,进而导致用户难以通过操作UI与运行对象进行交互。
为了解决上述技术问题,本发明实施例提供一种用户界面的渲染方法,在展示运行对象的UI之前,若确定用于展示用户界面的显示屏幕为异形屏,且确定针对该运行对象的屏幕显示模式为目标模式后,不再需要针对不同形状显示区域统一调整UI相对渲染位置,而是通过调用目标模式对应的显示边沿接口,将该运行对象在该显示屏幕上对应的显示区域修改为符合该目标模式,从而按照原本的相对位置渲染该运行对象的UI也不会出现UI显示不全、被遮挡的情况。
本发明实施例提供的用户界面的渲染方法可以应用到智能终端中,智能终端例如可以是智能手机、平板电脑等。如图2所示,智能终端201上可以运行程序或应用,运行对象即为智能终端201上运行的程序或应用。
以运行对象为游戏为例,在需要展示运行对象的UI之前,智能终端201确定用于展示该UI的显示屏幕的类型,其中,UI是运行对象与用户进行交互的媒介,用户可以通过对UI进行操作实现与运行对象的交互。显示屏幕上展示的运行对象的UI可以包括多个,用户通过不同的UI可以与运行对象进行相应的交互,如图2所示,101、102……107为不同的UI,其中,用户通过101可以获取运行对象的地图信息,用户通过102可以控制游戏中的角色移动等。
若智能终端201的显示屏幕为异形屏,则智能终端进一步确定针对该运行对象的屏幕显示模式,在确定该屏幕显示模式为目标模式后,通过调用该目标模式对应的显示边沿接口,将该运行对象在该显示屏幕上对应的显示区域修改为符合该目标模式。图2中202示出了一种通过修改得到的符合目标模式的显示区域。
其中,异形屏属于一种显示区域边沿不规则的显示屏幕。为了在智能手机的正面设置摄像头、传感器等元件,通常会在显示屏幕的边缘设有一部分非显示区域,从而在非显示区域设置摄像头、传感器等元件。例如智能手机的刘海屏、水滴屏等都是一种异形屏。又如,可能会在智能手机的底部设置非显示区域,在该非显示区域设置传感器,用于指纹解锁等等。
在修改得到符合目标模式的显示区域后,在修改后的显示区域内渲染UI,不再需要针对不同形状显示区域统一调整UI相对渲染位置,降低了在不同形状显示区域中渲染UI的***处理负担。智能终端201利用本发明实施例提供的方法在智能终端201的显示屏幕上渲染UI,渲染后的智能终端201的显示屏幕上的UI布局如图2中203所示,相对于统一向显示屏幕中心方向移动渲染位置而渲染的UI布局,更符合当前屏幕显示模式下的显示区域形状特点,提高了用户的使用体验。
接下来,将结合附图,对本发明实施例提供的用户界面的渲染方法进行详细介绍。
参见图3,图3示出了一种用户界面的渲染方法的流程图,所述方法包括:
S301、确定显示屏幕的类型。
其中,所述显示屏幕用于展示运行对象的用户界面。
显示屏幕可以包括多种类型,例如异形屏和非异形屏。由于异形屏的不规则显示区域,需要避免UI被非显示区域遮挡,造成交互困难或无法交互的问题。故,在渲染UI之前,首先需要判断显示屏幕的类型,以便在显示屏幕为异形屏的情况下,可以执行S302-S304,避免渲染得到的UI被非显示区域遮挡。
S302、若所述显示屏幕为异形屏,确定针对所述运行对象的屏幕显示模式。
在显示屏幕为异形屏的情况下,屏幕显示模式可以包括多种,通过对智能终端进行设置,可以更改针对运行对象的屏幕显示模式。
以异形屏为刘海屏为例,屏幕显示模式可以包括显示刘海模式和隐藏刘海模式,通过对智能终端进行设置,可以将针对运行对象的屏幕显示模式在显示刘海模式和隐藏刘海模式之间进行切换。
S303、若所述屏幕显示模式为目标模式,通过调用所述目标模式对应的显示边沿接口,将所述运行对象在所述显示屏幕上对应的显示区域修改为符合所述目标模式。
不同的屏幕显示模式具有与之相符合的显示区域,根据确定出的目标模型修改得到符合目标模式的显示区域,从而可以在后续按照原本的相对位置渲染该运行对象的UI,也不会出现UI显示不全、被遮挡的情况。
可以理解的是,异形屏可能包括多种,例如刘海屏、水滴屏等。在一种实现方式中,若异形屏为刘海屏,刘海屏的屏幕显示模式包括显示刘海模式和隐藏刘海模式,则目标模式包括显示刘海模式或隐藏刘海模式。
异形屏在不同的目标模式下,运行对象在显示屏幕上对应的显示区域可能有所不同。以异形屏为刘海屏为例,若目标模式为显示刘海模式,运行对象在显示屏幕上对应的显示区域为保留刘海部分的显示区域。参见图4a所示,虚线框中所示的为刘海部分,在刘海部分包括显示区域(虚线框中白色区域)和非显示区域(虚线框中黑色区域),保留刘海部分的显示区域则说明刘海部分的显示区域可以用于显示UI,因此,显示刘海模式下的显示区域如图4a中的白色区域所示。
若目标模式为隐藏刘海模式,运行对象在显示屏幕上对应的显示区域为隐藏刘海部分的显示区域。参见图4b所示,其中,401中的白色区域为显示刘海模式下的显示区域,而在隐藏刘海模式下,隐藏刘海部分的显示区域则说明刘海部分的显示区域不再用于显示UI,因此,隐藏刘海模式下的显示区域如图4b中402的白色区域所示。
需要说明的是,智能终端的终端类型可以包括很多种,在目标模式下,不同类型的智能终端具有不同的显示边沿接口,S303中调用的显示边沿接口应该是智能终端的终端类型所对应的接口。因此,在一种可能的实现方式中,所述方法还包括确定配置了显示屏幕的智能终端的终端类型,然后根据终端类型确定对应的显示边沿接口。
一般情况下,不同品牌的智能终端对应的终端类型可能不同,因此,不同品牌的智能终端调用不同的显示边沿接口修改显示区域。例如,智能终端的品牌为品牌A,目标模式为显示刘海模式时,则对应的显示边沿接口为通过调用addExtraFlags()函数调用的接口;目标模式为隐藏刘海模式时,则对应的显示边沿接口为通过调用clearExtraFlags()函数调用的接口。若终端类型为品牌B,则调用的是品牌B这一终端类型所对应的显示边沿接口。
需要说明的是,确定配置了显示屏幕的智能终端的终端类型的步骤可以在确定针对所述运行对象的屏幕显示模式这一步骤之前进行,也可以在确定针对所述运行对象的屏幕显示模式这一步骤之后进行,还可以与确定针对所述运行对象的屏幕显示模式这一步骤同时进行,本实施例对此不做限定。
S304、在修改后的显示区域内渲染所述用户界面。
在本实施例中,可以按照原本的相对位置渲染该运行对象的UI,通过本方式渲染出的UI布局,相对于统一向显示屏幕中心方向移动渲染位置而渲染的UI布局,更符合当前屏幕显示模式下的显示区域形状特点,提高了用户的使用体验。
如图5a所示,图5a为显示刘海模式下渲染UI后得到的游戏界面图,相对于图1中采用传统方式得到的游戏界面图来说,利用本发明实施例提供的用户界面渲染方法得到的游戏界面图中,101和102所示的UI可以在刘海部分的显示区域进行渲染,而非如同传统方式中统一向显示屏幕中心方向移动UI的渲染位置,从而不会刘海部分两侧的显示区域渲染UI,以避免UI被刘海遮挡。因此,本发明实施例提供的方法渲染的UI布局,更符合当前屏幕显示模式下的显示区域形状特点。
相应的,隐藏刘海模式下渲染UI后得到的游戏界面图参见图5b所示。
由上述技术方案可以看出,在展示运行对象的UI之前,确定用于展示该用户界面的显示屏幕的类型,若为异形屏,确定针对该运行对象的屏幕显示模式,在确定该屏幕显示模式为目标模式后,通过调用该目标模式对应的显示边沿接口,将该运行对象在该显示屏幕上对应的显示区域修改为符合该目标模式。也就是说,修改后的显示区域的形状,满足该目标模式要求的显示形状特点,从而按照原本的相对位置渲染该运行对象的UI也不会出现UI显示不全、被遮挡的情况。通过修改得到符合屏幕显示模式的显示区域方式,在UI渲染时,不再需要针对不同形状显示区域统一调整UI相对渲染位置,降低了在不同形状显示区域中渲染UI的***处理负担。
需要说明的是,在本发明实施例中,通过执行S301-S304修改显示区域,以在修改后的显示区域内渲染UI是需要在一定条件下进行的,并非随意修改显示区域,也就是说,智能终端需要在运行对象满足预设条件的情况下,执行S301-S304的步骤。
可以理解的是,由于修改显示区域的目的是为了保证渲染运行对象的UI后,UI不会被异形屏的非显示区域遮挡,因此,当需要渲染运行对象的UI时,可以触发执行S301-S304的步骤,即预设条件可以是需要渲染运行对象的UI时。
需要说明的是,在运行对象从启动到关闭的整个周期中,需要渲染运行对象的UI可能包括多种时机。在运行对象完成启动时,需要对运行对象的UI进行渲染,此时,为了避免渲染后的UI被遮挡,可以触发执行S301-S304的步骤。
其中,运行对象从启动到关闭的整个周期参见图6所示,运行对象的整个周期包括启动活动界面(Activity launched),onCreate()函数为启动活动界面时所调用的函数,……,关闭活动界面(Activity shut down),onDestroy()函数为关闭活动界面时所调用的函数。当智能终端检测到运行对象调用onCreate()函数时,表示运行对象完成启动,此时触发执行S301-S304的步骤。
在运行对象从显示屏幕所属智能终端的***后台切换到***前台时,需要重新对运行对象的UI进行渲染。例如,运行对象为游戏,用户从游戏中切出更改智能终端的设置后(如将刘海屏的隐藏刘海模式更改为显示刘海模式),再切换回游戏,需要重新对游戏的UI进行渲染,此时,为了避免渲染后的UI被遮挡,可以触发执行S301-S304的步骤。
其中,运行对象从显示屏幕所属智能终端的***后台切换到***前台时,会调用onWindowFocusChanged()这个函数,因此,当智能终端检测到运行对象调用onWindowFocusChanged()函数时,可以触发执行S301-S304的步骤。
在运行对象完成热更新时,更新后的运行对象的UI可能会发生改变,为了避免渲染后的UI被遮挡,可以触发执行S301-S304的步骤。
其中,运行对象的信息描述文件AndroidManifest.xml中添加了android:configChanges属性,运行对象热更新可能会导致某些属性发生变化,当属性(Configuration)发生改变时,运行对象会调用onConfigurationChanged()这个函数,因此,当智能终端检测到运行对象调用onConfigurationChanged()函数时,可以触发执行S301-S304的步骤。
由此可见,在一种可能的实现方式中,预设条件可以是运行对象完成启动时,或运行对象从所述显示屏幕所属智能终端的***后台切换到***前台时,或运行对象完成热更新时。
需要说明的是,本实施例所提供方法的关键在于修改显示区域,接下来,将对S303中如何将运行对象在显示屏幕上对应的显示区域修改为符合目标模式进行介绍。
由于运行对象对应的根视图可以定义运行对象在屏幕上对应的显示区域的形状,而修改显示区域的目的就是将显示区域的形状修改为满足目标模式要求的显示形状特点,因此,在一种可能的实现方式中,可以通过调用目标模式对应的显示边沿接口对运行对象对应的根视图进行修改,从而将运行对象在显示屏幕上对应的显示区域修改为符合目标模式。
以运行对象为游戏为例,智能终端的视图布局如图7所示,其中,进入游戏的主活动界面(MainActivity),MainActivity中包括游戏的根视图(RootView),RootView中包括Unity视图(UnityPlayerView),Unity是游戏引擎,Unity视图是与该游戏引擎相关的视图。在通过调用目标模式对应的显示边沿接口,将运行对象在显示屏幕上对应的显示区域修改为符合目标模式时,如果只修改UnityPlayerView,还需要继续修改游戏UI的相机设置来匹配逻辑操作(触控)与渲染View,会造成很多不必要的麻烦问题。可见,本实施例通过调用目标模式对应的显示边沿接口对运行对象对应的根视图进行修改,可以直接完成显示区域的修改,操作简单。
接下来,将结合具体应用场景,对本发明实施例提供的用户界面的渲染方法进行介绍。在该应用场景中,运行对象为游戏,在游戏完成启动时或者调用onWindowFocusChanged()函数将游戏从智能终端的***后台切换到***前台时,需要对游戏的UI进行渲染,触发智能终端执行本发明实施例提供的用户界面的渲染方法。其中,智能终端的终端类型为品牌A。
在这种情况下,用户界面的渲染方法参见图8所示,包括:
S801、启动游戏。
其中,onCreate()函数为游戏完成启动时游戏所调用的函数,在游戏调用onCreate()函数或调用onWindowFocusChanged()函数都可以触发执行S802。
S802、确定显示屏幕的类型是否为刘海屏,若是,则执行S803,若否,则执行S807。
S803、确定配置了显示屏幕的智能终端的终端类型。
S804、确定针对游戏的屏幕显示模式是否为显示刘海模式,若是,则执行S805,若否,则执行S806。
S805、通过调用addExtraFlags()函数调用显示边沿接口,将游戏在显示屏幕上对应的显示区域修改为符合显示刘海模式。
S806、通过调用clearExtraFlags()函数调用显示边沿接口,将游戏在显示屏幕上对应的显示区域修改为符合隐藏刘海模式。
S807、进入游戏。
……
S808、退出游戏。
由上述技术方案可以看出,在展示运行对象的UI之前,确定用于展示该用户界面的显示屏幕的类型,若为异形屏,确定针对该运行对象的屏幕显示模式,在确定该屏幕显示模式为目标模式后,通过调用该目标模式对应的显示边沿接口,将该运行对象在该显示屏幕上对应的显示区域修改为符合该目标模式。也就是说,修改后的显示区域的形状,满足该目标模式要求的显示形状特点,从而按照原本的相对位置渲染该运行对象的UI也不会出现UI显示不全、被遮挡的情况。通过修改得到符合屏幕显示模式的显示区域方式,在UI渲染时,不再需要针对不同形状显示区域统一调整UI相对渲染位置,降低了在不同形状显示区域中渲染UI的***处理负担。而且,通过本方式渲染出的UI布局,相对于统一向显示屏幕中心方向移动渲染位置而渲染的UI布局,更符合当前屏幕显示模式下的显示区域形状特点,提高了用户的使用体验。
基于前述实施例提供的用户界面的渲染方法,本实施例还提供一种用户界面的渲染装置,参见图9a,所述装置包括第一确定单元901、第二确定单元902、修改单元903和渲染单元904:
所述第一确定单元901,用于确定显示屏幕的类型,所述显示屏幕用于展示运行对象的用户界面;
所述第二确定单元902,用于若所述第一确定单元确定所述显示屏幕为异形屏,确定针对所述运行对象的屏幕显示模式;
所述修改单元903,用于若所述第二确定单元确定所述屏幕显示模式为目标模式,通过调用所述目标模式对应的显示边沿接口,将所述运行对象在所述显示屏幕上对应的显示区域修改为符合所述目标模式;
所述渲染单元904,用于在修改后的显示区域内渲染所述用户界面。
在一种实现方式中,参见图9b,所述装置还包括第三确定单元905:
所述第三确定单元905,用于若确定所述运行对象满足预设条件,触发所述第一确定单元901执行所述确定显示屏幕的类型的步骤。
在一种实现方式中,所述预设条件包括以下任意一种:
所述运行对象完成启动时;
所述运行对象从所述显示屏幕所属智能终端的***后台切换到***前台时;
所述运行对象完成热更新时。
在一种实现方式中,所述修改单元903,用于通过调用所述目标模式对应的显示边沿接口对所述运行对象对应的根视图进行修改,将所述运行对象在所述显示屏幕上对应的显示区域修改为符合所述目标模式。
在一种实现方式中,参见图9c,所述装置还包括第四确定单元906和第五确定单元907:
所述第四确定单元906,用于确定配置了所述显示屏幕的智能终端的终端类型;
所述第五确定单元907,用于根据所述终端类型确定对应的显示边沿接口。
图9c仅是用户界面的渲染装置的示例性结构,第四确定单元906和第五确定单元907还可以位于其他位置,本实施例对此不做限定。
在一种实现方式中,若所述异形屏为刘海屏,所述目标模式包括显示刘海模式或隐藏刘海模式。
在一种实现方式中,若所述目标模式为显示刘海模式,所述运行对象在所述显示屏幕上对应的显示区域为保留刘海部分的显示区域;
若所述目标模式为隐藏刘海模式,所述运行对象在所述显示屏幕上对应的显示区域为隐藏刘海部分的显示区域。
由上述技术方案可以看出,在展示运行对象的UI之前,确定用于展示该用户界面的显示屏幕的类型,若为异形屏,确定针对该运行对象的屏幕显示模式,在确定该屏幕显示模式为目标模式后,通过调用该目标模式对应的显示边沿接口,将该运行对象在该显示屏幕上对应的显示区域修改为符合该目标模式。也就是说,修改后的显示区域的形状,满足该目标模式要求的显示形状特点,从而按照原本的相对位置渲染该运行对象的UI也不会出现UI显示不全、被遮挡的情况。通过修改得到符合屏幕显示模式的显示区域方式,在UI渲染时,不再需要针对不同形状显示区域统一调整UI相对渲染位置,降低了在不同形状显示区域中渲染UI的***处理负担。而且,通过本方式渲染出的UI布局,相对于统一向显示屏幕中心方向移动渲染位置而渲染的UI布局,更符合当前屏幕显示模式下的显示区域形状特点,提高了用户的使用体验。
本发明实施例还提供了一种用于用户界面的渲染设备,下面结合附图对用于用户界面的渲染设备进行介绍。请参见图10所示,本发明实施例提供了一种用于用户界面的渲染设备1000,该设备1000还可以是终端设备,该终端设备可以为包括手机、平板电脑、个人数字助理(Personal Digital Assistant,简称PDA)、销售终端(Point of Sales,简称POS)、车载电脑等任意智能终端,以终端设备为手机为例:
图10示出的是与本发明实施例提供的终端设备相关的手机的部分结构的框图。参考图10,手机包括:射频(Radio Frequency,简称RF)电路1010、存储器1020、输入单元1030、显示单元1040、传感器1050、音频电路1060、无线保真(wireless fidelity,简称WiFi)模块1070、处理器1080、以及电源1090等部件。本领域技术人员可以理解,图10中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图10对手机的各个构成部件进行具体的介绍:
RF电路1010可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1080处理;另外,将设计上行的数据发送给基站。通常,RF电路1010包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,简称LNA)、双工器等。此外,RF电路1010还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(Global System of Mobile communication,简称GSM)、通用分组无线服务(GeneralPacket Radio Service,简称GPRS)、码分多址(Code Division Multiple Access,简称CDMA)、宽带码分多址(Wideband Code Division Multiple Access,简称WCDMA)、长期演进(Long Term Evolution,简称LTE)、电子邮件、短消息服务(Short Messaging Service,简称SMS)等。
存储器1020可用于存储软件程序以及模块,处理器1080通过运行存储在存储器1020的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1030可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1030可包括触控面板1031以及其他输入设备1032。触控面板1031,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1031上或在触控面板1031附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1080,并能接收处理器1080发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1031。除了触控面板1031,输入单元1030还可以包括其他输入设备1032。具体地,其他输入设备1032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1040可包括显示面板1041,可选的,可以采用液晶显示器(LiquidCrystal Display,简称LCD)、有机发光二极管(Organic Light-Emitting Diode,简称OLED)等形式来配置显示面板1041。进一步的,触控面板1031可覆盖显示面板1041,当触控面板1031检测到在其上或附近的触摸操作后,传送给处理器1080以确定触摸事件的类型,随后处理器1080根据触摸事件的类型在显示面板1041上提供相应的视觉输出。虽然在图10中,触控面板1031与显示面板1041是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1031与显示面板1041集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器1050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1041的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1041和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1060、扬声器1061,传声器1062可提供用户与手机之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1061,由扬声器1061转换为声音信号输出;另一方面,传声器1062将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出处理器1080处理后,经RF电路1010以发送给比如另一手机,或者将音频数据输出至存储器1020以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1070可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图10示出了WiFi模块1070,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1080是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1020内的软件程序和/或模块,以及调用存储在存储器1020内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1080可包括一个或多个处理单元;优选的,处理器1080可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1080中。
手机还包括给各个部件供电的电源1090(比如电池),优选的,电源可以通过电源管理***与处理器1080逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本实施例中,该终端设备所包括的处理器1080还具有以下功能:
确定显示屏幕的类型,所述显示屏幕用于展示运行对象的用户界面;
若所述显示屏幕为异形屏,确定针对所述运行对象的屏幕显示模式;
若所述屏幕显示模式为目标模式,通过调用所述目标模式对应的显示边沿接口,将所述运行对象在所述显示屏幕上对应的显示区域修改为符合所述目标模式;
在修改后的显示区域内渲染所述用户界面。
请参见图11所示,本发明实施例提供了一种服务器,可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(Central Processing Units,简称CPU)1122(例如,一个或一个以上处理器)和存储器1132,一个或一个以上存储应用程序1142或数据1144的存储介质1130(例如一个或一个以上海量存储设备)。其中,存储器1132和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1122可以设置为与存储介质1130通信,在用于神经网络模型训练的设备1100上执行存储介质1130中的一系列指令操作。
用于神经网络模型训练的设备1100还可以包括一个或一个以上电源1126,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1158,和/或,一个或一个以上操作***1141,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图11所示的服务器结构。
本发明实施例的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本发明中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本发明所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种用户界面的渲染方法,其特征在于,所述方法包括:
在运行对象满足预设条件时,确定显示屏幕的类型,所述显示屏幕用于展示运行对象的用户界面,所述预设条件为运行对象完成启动需要渲染运行对象的用户界面、运行对象从所述显示屏幕所属智能终端的***后台切换到***前需要渲染运行对象的用户界面以及运行对象完成热更新需要渲染运行对象的用户界面中的任意一种;
若所述显示屏幕为异形屏,确定针对所述运行对象的屏幕显示模式;
若所述屏幕显示模式为目标模式,通过调用所述目标模式对应的显示边沿接口对所述运行对象对应的根视图进行修改,将所述运行对象在所述显示屏幕上对应的显示区域修改为符合所述目标模式,其中,所述运行对象对应的根视图为运行对象在屏幕上对应的显示区域的形状,修改后的显示区域的形状满足目标模式要求的显示形状特点从而按照原本的相对位置渲染所述运行对象的用户界面,若所述异形屏为刘海屏,所述目标模式包括显示刘海模式或隐藏刘海模式,所述目标模式为显示刘海模式时,对应的显示边沿接口为通过调用addExtraFlags()函数调用的接口,所述目标模式为隐藏刘海模式时,对应的显示边沿接口为通过调用clearExtraFlags()函数调用的接口;
在修改后的显示区域内渲染所述用户界面。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定配置了所述显示屏幕的智能终端的终端类型;
根据所述终端类型确定对应的显示边沿接口。
3.根据权利要求1所述的方法,其特征在于,若所述目标模式为显示刘海模式,所述运行对象在所述显示屏幕上对应的显示区域为保留刘海部分的显示区域;
若所述目标模式为隐藏刘海模式,所述运行对象在所述显示屏幕上对应的显示区域为隐藏刘海部分的显示区域。
4.一种用户界面的渲染装置,其特征在于,所述装置包括第一确定单元、第二确定单元、修改单元和渲染单元:
所述第一确定单元,用于在运行对象满足预设条件时,确定显示屏幕的类型,所述显示屏幕用于展示运行对象的用户界面,所述预设条件为运行对象完成启动需要渲染运行对象的用户界面、运行对象从所述显示屏幕所属智能终端的***后台切换到***前需要渲染运行对象的用户界面以及运行对象完成热更新需要渲染运行对象的用户界面中的任意一种;
所述第二确定单元,用于若所述第一确定单元确定所述显示屏幕为异形屏,确定针对所述运行对象的屏幕显示模式;
所述修改单元,用于若所述第二确定单元确定所述屏幕显示模式为目标模式,通过调用所述目标模式对应的显示边沿接口对所述运行对象对应的根视图进行修改,将所述运行对象在所述显示屏幕上对应的显示区域修改为符合所述目标模式,其中,所述运行对象对应的根视图为运行对象在屏幕上对应的显示区域的形状,修改后的显示区域的形状满足目标模式要求的显示形状特点从而按照原本的相对位置渲染所述运行对象的用户界面,若所述异形屏为刘海屏,所述目标模式包括显示刘海模式或隐藏刘海模式,所述目标模式为显示刘海模式时,对应的显示边沿接口为通过调用addExtraFlags()函数调用的接口,所述目标模式为隐藏刘海模式时,对应的显示边沿接口为通过调用clearExtraFlags()函数调用的接口;
所述渲染单元,用于在修改后的显示区域内渲染所述用户界面。
5.根据权利要求4所述的装置,其特征在于,所述装置还包括第四确定单元和第五确定单元:
所述第四确定单元,用于确定配置了所述显示屏幕的智能终端的终端类型;
所述第五确定单元,用于根据所述终端类型确定对应的显示边沿接口。
6.根据权利要求4所述的装置,其特征在于,若所述目标模式为显示刘海模式,所述运行对象在所述显示屏幕上对应的显示区域为保留刘海部分的显示区域;
若所述目标模式为隐藏刘海模式,所述运行对象在所述显示屏幕上对应的显示区域为隐藏刘海部分的显示区域。
7.一种用于用户界面的渲染设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-3所述的用户界面的渲染方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1-3所述的用户界面的渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910146557.9A CN109885373B (zh) | 2019-02-27 | 2019-02-27 | 一种用户界面的渲染方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910146557.9A CN109885373B (zh) | 2019-02-27 | 2019-02-27 | 一种用户界面的渲染方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109885373A CN109885373A (zh) | 2019-06-14 |
CN109885373B true CN109885373B (zh) | 2021-11-23 |
Family
ID=66929663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910146557.9A Active CN109885373B (zh) | 2019-02-27 | 2019-02-27 | 一种用户界面的渲染方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109885373B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112748894A (zh) * | 2019-10-30 | 2021-05-04 | 北京小米移动软件有限公司 | 挖孔屏显示方法及装置 |
CN111459227A (zh) * | 2020-03-31 | 2020-07-28 | 联想(北京)有限公司 | 电子设备及其显示控制方法 |
CN114168031B (zh) * | 2022-02-11 | 2023-03-31 | 荣耀终端有限公司 | 挖孔屏的显示优化方法、设备和存储介质 |
CN117931354A (zh) * | 2022-07-08 | 2024-04-26 | 华为技术有限公司 | 显示方法及相关装置 |
CN115361468B (zh) * | 2022-10-21 | 2023-02-28 | 荣耀终端有限公司 | 屏幕旋转时的显示优化方法、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108182043A (zh) * | 2018-01-19 | 2018-06-19 | 维沃移动通信有限公司 | 一种信息显示方法及移动终端 |
CN108536498A (zh) * | 2017-12-29 | 2018-09-14 | 广东欧珀移动通信有限公司 | 电子装置、聊天界面的控制方法及相关产品 |
CN109032445A (zh) * | 2018-07-16 | 2018-12-18 | 维沃移动通信有限公司 | 一种屏幕显示控制方法及终端设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9013510B2 (en) * | 2011-07-29 | 2015-04-21 | Google Inc. | Systems and methods for rendering user interface elements in accordance with a device type |
CN106250080A (zh) * | 2016-07-29 | 2016-12-21 | 腾讯科技(深圳)有限公司 | 图像显示方法及装置 |
CN108536366A (zh) * | 2018-03-28 | 2018-09-14 | 维沃移动通信有限公司 | 一种应用程序窗口调整方法及终端 |
CN108519848A (zh) * | 2018-03-30 | 2018-09-11 | 联想(北京)有限公司 | 一种显示控制方法及电子设备 |
-
2019
- 2019-02-27 CN CN201910146557.9A patent/CN109885373B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108536498A (zh) * | 2017-12-29 | 2018-09-14 | 广东欧珀移动通信有限公司 | 电子装置、聊天界面的控制方法及相关产品 |
CN108182043A (zh) * | 2018-01-19 | 2018-06-19 | 维沃移动通信有限公司 | 一种信息显示方法及移动终端 |
CN109032445A (zh) * | 2018-07-16 | 2018-12-18 | 维沃移动通信有限公司 | 一种屏幕显示控制方法及终端设备 |
Non-Patent Citations (1)
Title |
---|
Android兼容Huawei手机刘海屏解决方案;奥特曼超人Dujinyang;《https://blog.csdn.net/djy1992/article/details/80683575》;20180613;第1-10页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109885373A (zh) | 2019-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109885373B (zh) | 一种用户界面的渲染方法和装置 | |
CN106851010B (zh) | 一种目标应用的干扰处理方法及终端 | |
WO2015172704A1 (en) | To-be-shared interface processing method, and terminal | |
CN109871164B (zh) | 一种消息发送方法及终端设备 | |
CN109947327B (zh) | 一种界面查看方法、可穿戴设备及计算机可读存储介质 | |
CN107066268B (zh) | 微件应用的显示位置切换方法及装置 | |
CN107967153B (zh) | 一种应用程序的管理方法及移动终端 | |
CN109407948B (zh) | 一种界面显示方法及移动终端 | |
CN108958593B (zh) | 一种确定通讯对象的方法及移动终端 | |
CN110898424B (zh) | 一种显示控制方法及电子设备 | |
CN111092990A (zh) | 一种应用程序分享方法及电子设备 | |
CN112691367B (zh) | 一种数据处理方法和相关装置 | |
CN111127595A (zh) | 图像处理方法及电子设备 | |
CN107357651B (zh) | 应用加速方法、装置以及终端 | |
CN110908757B (zh) | 一种媒体内容显示的方法以及相关装置 | |
WO2020181956A1 (zh) | 应用标识的显示方法及终端设备 | |
CN110167006B (zh) | 一种控制应用程序使用sim卡的方法及终端设备 | |
CN109933267B (zh) | 控制终端设备的方法及终端设备 | |
CN109126127B (zh) | 游戏控制方法、双屏移动终端及计算机可读存储介质 | |
CN110769303A (zh) | 播放控制方法、装置及移动终端 | |
CN107193551B (zh) | 一种生成图像帧的方法和装置 | |
CN108984075B (zh) | 显示模式切换方法、装置及终端 | |
CN111399715B (zh) | 一种界面显示方法及电子设备 | |
CN111176529B (zh) | 一种按键显示方法及电子设备 | |
CN110209449B (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 |