界面显示方法、电子设备及计算机可读存储介质与流程

文档序号:16545665发布日期:2019-01-08 20:50阅读:160来源:国知局
界面显示方法、电子设备及计算机可读存储介质与流程

本发明实施例涉及电子技术领域,特别涉及一种界面显示方法、电子设备及计算机可读存储介质。



背景技术:

随着电子技术的快速发展,各种电子设备越来越多的应用在人们的日常生活中,其中,以手机的应用最为广泛。手机已成为人们生活中不可缺少的通信工具,目前,手机的技术已非常成熟,同时,人们对手机的要求也逐渐提高,传统的手机只有一个屏幕,在接听电话或者打电话时只能按照固定的方向操作,给人们的使用带来了不便,同时也不适应目前手机市场多样化的需求。双屏手机的设计目是为了满足消费者不同体验需求,可以方便消费者的操作,提高消费者在使用智能手机时的体验兴趣。

现有的双屏手机通常是在手机的背部直接搭载了一块面积跟主屏幕相近的屏幕,正面屏幕和背面屏幕的材质可以相同也可以不同,例如,可以在背面搭载一块e-ink墨水屏,即电子墨水屏,e-ink墨水屏较之于传统电子设备显示屏的优势在于它容易阅读,电子屏显示的看起来更像印刷文字,它使眼睛更加轻松。然而,e-ink墨水屏的分辨率一般较小,不便于使用在书籍或其他小字体出版物中,e-ink墨水屏的加入,使得双屏手机的电子阅读的功能较之传统手机更加优秀。

然而,本发明的发明人发现,目前双屏电子设备的两个屏幕(例如:手机正面搭载一个屏幕,手机背屏搭载一个屏幕)的分辨率一般都是不一样的,当某个应用程序在其中一个屏幕显示过之后,在其他的屏幕上显示时,则会出现因为屏幕的尺寸、分辨率发生变化,从而导致显示异常。



技术实现要素:

本发明实施方式的目的在于提供一种界面显示方法、电子设备及计算机可读存储介质,应用于具有多个屏幕的电子设备,使得当某个应用程序在其他屏幕显示过之后,在当前待显示屏幕上显示时,不会出现显示异常。

为解决上述技术问题,本发明的实施方式提供了一种界面显示方法,应用于具有多个屏幕的电子设备,包括以下步骤:

获取显示应用程序界面的指令;根据所述指令确定用于显示所述应用程序界面的待显示屏幕;检测所述应用程序目前是否已经被打开并在其他屏幕显示;若所述应用程序已经被打开并在其他屏幕显示,则重启所述应用程序并根据所述待显示屏幕的尺寸和分辨率布局和显示所述应用程序界面。

本发明的实施方式还提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述的界面显示方法。

本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现前述的界面显示方法。

本发明实施方式相对于现有技术而言,当电子设备获取到显示应用程序界面的指令时,即用户触发了显示应用程序界面的动作,此时电子设备会先确认需要将该应用程序界面显示到哪个屏幕上,并将需要显示该应用程序界面的屏幕作为待显示屏幕,在将该应用程序界面显示到该待显示屏幕上之前,先检测该应用程序有没有被打开过并在其他屏幕显示过,即是否在电子设备上除当前待显示屏幕之外的其他屏幕上显示过,如果应用程序已经被打开并在其他屏幕显示,则先将该应用程序重启,然后根据待显示屏幕的尺寸和分辨率布局和显示应用程序界面,以达到不出现显示异常的效果。本发明的实施方式中,先重启该应用程序,可以将与其他屏幕相关的显示参数清除,重新根据当前待显示屏幕的尺寸和分辨率布局和显示应用程序界面,从而有效的防止其他屏幕相关的显示参数对当前待显示屏幕的显示产生影响,使得当某个应用程序在其他屏幕显示过之后,在当前待显示屏幕上显示时不会出现显示异常。

另外,检测应用程序目前是否已经被打开并在其他屏幕显示之后,还包括:若应用程序未被打开,则直接打开应用程序,并根据待显示屏幕的尺寸和分辨率布局和显示应用程序界面。由于应用程序未被打开,将应用程序直接打开后,根据当前待显示屏幕的尺寸和分辨率布局和显示该应用程序界面,不会受到其他屏幕的影响,也就不会出现显示异常的问题。

另外,检测应用程序目前是否已经被打开并在其他屏幕显示之后,还包括:若应用程序已经被打开但未在其他屏幕上显示,则直接根据当前带显示屏幕的尺寸和分辨率布局和显示应用程序的界面。虽然应用程序已经被打开,但由于未在其他屏幕上显示,直接根据当前待显示屏幕的尺寸和分辨率副局和显示该应用程序界面,不会受到其他屏幕的影响,也就不会出现显示异常的问题。

另外,根据第一屏幕的尺寸和分辨率布局和显示应用程序界面,具体包括:根据待显示屏幕的尺寸和分辨率设置表征应用程序界面的显示窗口尺寸的矩形变量并布局界面上各视图的指定大小和位置;根据待显示屏幕的尺寸和分辨率绘制待显示屏幕的帧数据宽和帧数据高;将根据待显示屏幕的尺寸和分辨率设置的矩形变量与待显示屏幕的帧数据宽和帧数据高同等比例显示到待显示屏幕上。

另外,根据待显示屏幕的尺寸和分辨率设置表征应用程序界面的显示窗口尺寸的矩形变量并布局界面上各视图的指定大小和位置,具体包括:在电子设备系统framework层的wms模块根据待显示屏幕的尺寸和分辨率设置表征应用程序界面的显示窗口尺寸的矩形变量并布局界面上各视图的指定大小和位置。

另外,根据待显示屏幕的尺寸和分辨率绘制待显示屏幕的帧数据宽和帧数据高,具体包括:在电子设备系统framework层的sf模块根据待显示屏幕的尺寸和分辨率绘制待显示屏幕的帧数据宽和帧数据高。

另外,所述重启所述应用程序,具体包括:将所述应用程序关闭,删除根据其他屏幕的尺寸和分辨率获取的用于显示的显示参数后,再次启动该应用程序。将应用程序关闭后,将根据其他屏幕的尺寸和分辨率获取的显示参数删除,有效的防止了其他屏幕的显示参数对当前待显示屏幕显示的影响,防止出现显示异常。

附图说明

图1是本发明第一实施方式所提供的界面显示方法的程序流程图;

图2是对本发明第一实施方式进行举例说明的第一显示效果图;

图3是对本发明第一实施方式进行举例说明的第二显示效果图;

图4是对本发明第一实施方式进行举例说明的第三显示效果图;

图5是本发明第一实施方式所提供的界面显示方法的程序流程图;

图6是本发明第三实施方式所提供的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本发明而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本发明所要求保护的技术方案。

本发明的第一实施方式涉及一种界面显示方法,应用于具有第一屏幕和第二屏幕的电子设备,如图1所示,包括以下步骤:

步骤s101:获取显示应用程序界面的指令。

具体的说,在本步骤中,当用户触发显示应用程序界面的操作时,电子设备即获取到显示该应用程序的指令。例如,用户在使用电子设备时,可以直接点击电子设备上显示的应用程序的图标,电子设备则会获取到显示该应用程序的指令。

步骤s102:确认该应用程序需要在哪个屏幕显示。

具体来说,在本步骤中,电子设备会确认该应用程序需要在哪个屏幕显示。例如,可以根据用户的指令确认需要在哪个屏幕上进行显示,即在用户打开应用时,可以选择在哪个屏幕上进行显示;或者如果用户没有选择在哪个屏幕上显示,则可以根据用户当前正在使用的屏幕确认需要在哪个屏幕上显示。可以理解的是,以上只是对确认显示屏幕的方法的举例说明,在实际使用过程中,确认显示屏幕的方法并不局限于这两种,还可以是其他的方法。

步骤s103:判断该应用程序目前是否已经被打开,若已经被打开,则执行步骤s104;若未被打开,则执行步骤s105。

具体的说,当步骤s102中确认需要在哪个屏幕上显示应用程序界面后,电子设备会在其后台应用中查找该应用程序,判断该应用程序是否已经被打开,如果该应用程序已经被打开,则执行步骤s104,如果该应用程序没有被打开,或者已经被关闭,则执行步骤s105。

步骤s104:判断该应用程序是否已在其他屏幕上显示,若已在其他屏幕上显示,则执行步骤s106;若未在其他屏幕上显示,则执行步骤s107。

步骤s105:打开该应用程序。

步骤s106:重启该应用程序。

具体的说,在本步骤中,当确认了该应用程序需要在哪个屏幕上显示,并且该应用程序已经被打开而且在其他屏幕显示,则会重启该应用程序,即关闭后重新打开该应用程序。

进一步的,在关闭该应用程序和再次打开该应用程序时,电子设备会删除该应用程序在其他屏幕上显示时,根据其他屏幕的宽、高和分辨率设置和计算的用于显示的显示参数,包括用于表征窗口大小的矩形变量、绘制和布局的界面上各个视图的大小的位置以及根据其他屏幕的尺寸和分辨率绘制的帧数据宽和帧数据高。可以理解的是,前述的用于显示的显示参数包括但不限于这三种参数,所有根据其他屏幕的信息获取的数据参数,都可以包括在内,在此不进行一一列举。

步骤s107:根据当前待显示屏幕的尺寸和分辨率布局和显示该应用程序界面。

具体的说,在本步骤中,会先获取当前待显示屏幕的宽、高和分辨率,然后在系统framework层的wms模块将表征窗口大小的矩形变量根据当前待显示屏幕的宽和高设置,同时布局界面上各个视图的大小的位置。若该应用程序有自适应屏幕的功能,也可以布局自适应的大小和位置。可以理解的是,根据当前待显示屏幕的宽和高布局各视图的大小与位置,和布局自适应的大小和位置只是布局时应用的算法不同,其并不影响该应用程序界面在电子设备上的显示;接下来在系统framework层的sf模块根据当前待显示屏幕的宽、高和分辨率绘制当前待显示屏幕的帧数据宽和帧数据高;最后将根据当前待显示屏幕的宽和高设置的矩形变量和根据当前待显示屏幕的宽、高和分辨率绘制的当前待显示屏幕的帧数据宽和帧数据高等比例的显示到当前待显示屏幕上。

其中,wms是windowmanagerservice的简称,wms模块是android系统管理窗口的服务,包括增加或者删除窗口,确定窗口的大小和位置,以及实现窗口切换、窗口动画等功能。sf是surfaceflinger的简称,sf模块是构成android图形系统的主要部分,它将接受到的不同数据源整合并,最终更新到帧缓冲以便显示。

优选的,在本实施方式中,该电子设备的屏幕可以包括多个,即包括两个及两个以上的屏幕,多个屏幕上均可以使用前述步骤进行显示,防止出现显示异常的问题。

与现有技术相比,本发明的第一实施方式所提供的界面显示方法,在电子设备获取到显示应用程序界面的指令时,会确认该应用程序需要在哪个屏幕上进行显示,在将该应用程序界面显示在当前确认的待显示屏幕上之前,判断该应用程序是否已经被打开且在其他屏幕上显示,当该应用程序是否已经被打开且在其他屏幕上显示时,会重启该应用程序,并直接根据当前待显示屏幕的尺寸和分辨率布局和显示应用程序界面。由于该应用程序已经被打开且在其他屏幕上显示,该应用程序在当前待显示屏幕上显示时,会根据其他屏幕的宽、高和分辨率等计算得到很多的用于显示的显示参数,如果此时直接在当前待显示屏幕上再次显示此应用程序,在显示的过程中,这些根据第一屏幕的宽、高和分辨率等计算得到的显示参数可能会被直接调用,由于电子设备不同屏幕的宽、高和分辨率等一般并不相同,其他屏幕的显示参数并不适用于当前待显示屏幕,直接调用其他屏幕的显示参数在当前待显示屏幕上使用,则会出现显示异常的问题,而在本实施方式中,先重启该应用程序,可以将与其他屏幕相关的显示参数清除,重新根据当前待显示屏幕的尺寸和分辨率布局和显示应用程序界面,从而有效的防止其他屏幕相关的显示参数对当前待显示屏幕的显示产生影响,使得当某个应用程序在其他屏幕显示过之后,在当前待显示屏幕上显示时不会出现显示异常。

下面对本发明的第一实施方式进行举例说明:

假定双屏手机的两个屏幕一个在手机正面(正面屏幕),一个在手机背面(背面屏幕)。当用户使用手机时,想要打开某个应用程序即app,会点击该app的图标,此时会出现选择按钮,用户可以选择将该app显示在正面屏幕上,也可以选择将该app显示到背面屏幕上,用户选择完显示屏幕后,例如用户选择了背面屏幕显示,此时现有技术方案是会在系统framework(java)层的wms模块根据背面屏幕的尺寸和分辨率设置窗口大小即将代表窗口尺寸相关的矩形变量根据背面屏幕宽和高设置和布局界面上各视图的指定大小和位置或者自适应大小和位置,但是我们这个技术方案是先判断该应用的进程是否存在即之前是否有打开过这个应用:

(1)如果之前没有打开这个app,那么在系统framework(java)层的wms模块直接根据背面屏幕的尺寸和分辨率设置窗口大小即将代表窗口尺寸相关的矩形变量根据背面屏幕宽和高设置和布局界面上各视图的指定大小和位置或者自适应大小和位置,在系统framework(native)层的sf模块根据背面屏幕的尺寸和分辨率进行绘制最后同等比例显示到背面屏幕上。

(2)如果之前有打开过这个app,则会判断之前打开app后是显示在正面屏幕还是背面屏幕。

如果之前打开这个app是显示在正面屏幕,那么需要先将该app的后台进程关闭掉,删除该app之前显示在正面屏幕上时产生的显示参数,然后使应用重新启动,继续在系统framework(java)层的wms模块还是根据背面屏幕的尺寸和分辨率设置窗口大小即将代表窗口尺寸相关的矩形变量根据背面屏幕宽和高设置和布局界面上各视图的指定大小和位置或者自适应大小和位置,在系统framework(native)层的sf模块背面屏幕的尺寸和分辨率进行绘制最后同等比例显示到屏幕上;

如果之前打开这个app是显示在背面屏幕,那么在系统framework(java)层的wms模块层还是根据背面屏幕的尺寸和分辨率设置窗口大小即将代表窗口尺寸相关的矩形变量根据背面屏幕宽和高设置和布局界面上各视图的指定大小和位置或者自适应大小和位置,在系统framework(native)层的sf模块背面屏幕的尺寸和分辨率进行绘制最后同等比例显示到屏幕上。

下面对本发明实施方式的实施效果进行举例说明,如图2至图4所示:

其中,图2为电子设备第一次打开应用程序显示到第一个屏幕上时,如正面屏幕的效果图,显示是正常的;

图3是现有技术中直接将应用程序显示到第二个屏幕的,如反面屏幕,显示是异常的,界面上的视图明显变大;

图4是应用本发明实施方式将应用程序重启之后显示到第二个屏幕的,如反面屏幕,显示是正常的,界面上的视图与图2中界面上的视图大小和位置相同。

本发明第二实施方式涉及一种界面显示方法,第二实施方式是对第一实施方式的进一步改进,主要改进之处在于:在第一实施方式中,当该应用程序已经被打开且在其他屏幕上显示时,需要重启应用程序,然后在当前待显示屏幕上进行显示。而在本发明第二实施方式中,无需重启该应用程序。具体步骤如图5所示,包括:

步骤s201:获取显示应用程序界面的指令。

步骤s202:确认该应用程序需要在哪个屏幕显示。

步骤s203:判断该应用程序目前是否已经被打开,若已经被打开,则执行步骤s204;若未被打开,则执行步骤s205。

步骤s204:判断该应用程序是否已在其他屏幕上显示,若已在其他屏幕上显示,则执行步骤s206;若未在其他屏幕上显示,则执行步骤s207。

步骤s205:打开该应用程序。

步骤s206:删除该应用程序的相关显示参数。

具体的说,在本步骤中,当确认了该应用程序需要在哪个屏幕上显示,并且该应用程序已经被打开而且在其他屏幕显示,则会直接删除该应用程序在其他屏幕上显示时产生的相关显示参数。

进一步的,在删除相关显示参数时,电子设备仅删除该应用程序在其他屏幕上显示时,设置和计算得到的,用于显示的显示参数,例如,根据其他屏幕的宽、高和分辨率设置和计算的用于显示的显示参数,包括用于表征窗口大小的矩形变量、绘制和布局的界面上各个视图的大小的位置以及根据其他屏幕的尺寸和分辨率绘制的帧数据宽和帧数据高。可以理解的是,前述的用于显示的显示参数包括但不限于这三种参数,所有根据其他屏幕的信息获取的数据参数,都可以包括在内,在此不进行一一列举。而对于其他不用于屏幕显示的参数,例如用户的操作数据、应用程序的运行数据等则会进行保留。

步骤s207:根据当前待显示屏幕的尺寸和分辨率布局和显示该应用程序界面。

由于本实施方式中步骤s201至步骤s205、步骤s207与第一实施方式中步骤s101至步骤s105、步骤s107大致相同,旨在确认应用程序的显示屏幕,以及在确认显示屏幕后判断应用程序是否被打开并在其他屏幕上显示,根据判断结果,执行相应的步骤,此处不再赘述。

与现有技术相比,本发明的第二实施方式所提供的界面显示方法,在电子设备获取到显示应用程序界面的指令时,会确认该应用程序需要在哪个屏幕上进行显示,在将该应用程序界面显示在当前确认的待显示屏幕上之前,判断该应用程序是否已经被打开且在其他屏幕上显示,当该应用程序是否已经被打开且在其他屏幕上显示时,会直接删除与其他屏幕相关的显示参数,并直接根据当前待显示屏幕的尺寸和分辨率布局和显示应用程序界面。由于该应用程序已经被打开且在其他屏幕上显示,该应用程序在当前待显示屏幕上显示时,会根据其他屏幕的宽、高和分辨率等计算得到很多的用于显示的显示参数,如果此时直接在当前待显示屏幕上再次显示此应用程序,在显示的过程中,这些根据第一屏幕的宽、高和分辨率等计算得到的显示参数会被直接调用,由于电子设备不同屏幕的宽、高和分辨率等一般并不相同,其他屏幕的显示参数并不适用于当前待显示屏幕,直接调用其他屏幕的显示参数在当前待显示屏幕上使用,则会出现显示异常的问题,而在本实施方式中,直接将与其他屏幕相关的显示参数删除,重新根据当前待显示屏幕的尺寸和分辨率布局和显示应用程序界面,从而有效的防止其他屏幕相关的显示参数对当前待显示屏幕的显示产生影响,使得当某个应用程序在其他屏幕显示过之后,在当前待显示屏幕上显示时不会出现显示异常。同时,无需重启该应用程序,可以有效的提升显示的效率,节省显示的时间;保留除显示参数外的其他历史数据,可以保存该应用程序的历史操作数据,便于用户进行操作。

本发明第三实施方式涉及一种电子设备,如图6所示,包括:至少一个处理器301;以及,与至少一个处理器301通信连接的存储器302;其中,存储器302存储有可被至少一个处理器301执行的指令,指令被至少一个处理器301执行,以使至少一个处理器301能够执行上述界面显示方法。

其中,存储器302和处理器301采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器301和存储器302的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器301处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器301。

处理器301负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器302可以被用于存储处理器301在执行操作时所使用的数据。

本发明第三实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。

即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1