CN109783176A - 切换页面的方法和装置 - Google Patents
切换页面的方法和装置 Download PDFInfo
- Publication number
- CN109783176A CN109783176A CN201910044639.2A CN201910044639A CN109783176A CN 109783176 A CN109783176 A CN 109783176A CN 201910044639 A CN201910044639 A CN 201910044639A CN 109783176 A CN109783176 A CN 109783176A
- Authority
- CN
- China
- Prior art keywords
- page
- switching
- control
- viewstub
- attribute
- 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.)
- Granted
Links
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本公开提供了一种切换页面的方法和装置,属于计算机技术领域。所述方法包括:在预先存储的View控件、属性和初始属性值三者的对应关系中,确定切换前的页面中的View控件的属性的初始属性值,将所述切换前的页面中的View控件的属性的属性值设置为初始属性值,基于切换后的页面的显示内容和所述切换前的页面中各View控件的初始属性值,显示所述切换后的页面,其中,所述切换前的页面与切换后的页面属于同一类型的页面。采用本公开,可以缩短切换页面的时长。
Description
技术领域
本公开涉及计算机技术领域,特别涉及一种切换页面的方法和装置。
背景技术
随着计算机技术的发展,各种类型的应用程序越来越多,在应用程序中,经常需要切换页面。
相关技术中,在切换页面的过程中,通常需要重新启动Activity来实现切换页面,例如,在直播应用程序中,启动Activity来触发切换直播间。
由于启动Activity一般耗时比较多,所以启动Activity实现页面的切换会花费较长的时间。
发明内容
为了解决现有技术的问题,本公开实施例提供了一种切换页面的方法和装置。所述技术方案如下:
第一方面,提供了一种切换页面的方法,所述方法包括:
在预先存储的View控件、属性和初始属性值三者的对应关系中,确定切换前的页面中的View控件的属性的初始属性值;
将所述切换前的页面中的View控件的属性的属性值设置为初始属性值;
基于切换后的页面的显示内容和所述切换前的页面中各View控件的初始属性值,显示所述切换后的页面,其中,所述切换前的页面与切换后的页面属于同一类型的页面。
可选的,所述方法还包括:
在通过Activity页面初始加载目标页面的布局时,获取所述目标页面中的View控件的属性的属性值,其中,所述目标页面与所述切换后的页面、所述切换前的页面属于同一类型的页面;
基于所述目标页面中的View控件的属性的属性值,建立所述对应关系。
可选的,所述获取所述目标页面中的View控件的属性的属性值,包括:
通过LayoutInflater中预设的Factory获取所述目标页面中的View控件的属性的属性值;或者,
通过解析所述目标页面的Layout中的xml文件来获取所述目标页面中的View控件的属性的属性值。
可选的,所述方法还包括:
如果所述目标页面中的控件包括ViewStub控件,则建立ViewStub控件与初始化后的ViewStub控件的对应关系。
可选的,所述基于切换后的页面的显示内容和所述切换前的页面中各View控件的初始属性值,显示所述切换后的页面之前,还包括:
如果所述切换后的页面中包括ViewStub控件,则在所述ViewStub控件与初始化后的ViewStub控件的对应关系中,确定所述切换后的页面中包括的ViewStub控件的标识对应的初始化后的目标ViewStub控件;
将所述目标ViewStub控件从父类中移除;
将所述切换后的页面中包括的ViewStub控件设置到所述父类中所述目标ViewStub控件的位置。
第二方面,提供了一种切换页面的装置,所述装置包括:
确定模块,用于在预先存储的View控件、属性和初始属性值三者的对应关系中,确定切换前的页面中的View控件的属性的初始属性值;
设置模块,用于将所述切换前的页面中的View控件的属性的属性值设置为初始属性值;
显示模块,用于基于切换后的页面的显示内容和所述切换前的页面中各View控件的初始属性值,显示所述切换后的页面,其中,所述切换前的页面与切换后的页面属于同一类型的页面。
可选的,所述确定模块,还用于:
在通过Activity页面初始加载目标页面的布局时,获取所述目标页面中的View控件的属性的属性值,其中,所述目标页面与所述切换后的页面、所述切换前的页面属于同一类型的页面;
基于所述目标页面中的View控件的属性的属性值,建立所述对应关系。
可选的,所述确定模块,还用于:
通过LayoutInflater中预设的Factory获取所述目标页面中的View控件的属性的属性值;或者,
通过解析所述目标页面的Layout中的xml文件来获取所述目标页面中的View控件的属性的属性值。
可选的,所述确定模块,还用于:
如果所述目标页面中的控件包括ViewStub控件,则建立ViewStub控件与初始化后的ViewStub控件的对应关系。
可选的,所述设置模块,还用于:
基于切换后的页面的显示内容和所述切换前的页面中各View控件的初始属性值,显示所述切换后的页面之前,如果所述切换后的页面中包括ViewStub控件,则在所述ViewStub控件与初始化后的ViewStub控件的对应关系中,确定所述切换后的页面中包括的ViewStub控件的标识对应的初始化后的目标ViewStub控件;
将所述目标ViewStub控件从父类中移除;
将所述切换后的页面中包括的ViewStub控件设置到所述父类中所述目标ViewStub控件的位置。
本公开实施例提供的技术方案带来的有益效果至少包括:
本公开实施例中,在切换页面时,在预先存储的View控件、属性和初始属性值三者的对应关系中,确定切换前的页面中的View控件的属性的初始属性值,将切换前的页面中的View控件的属性的属性值设置为初始属性值,然后基于切换后的页面的显示内容和切换前的页面中各View控件的初始属性值,显示切换后的页面。这样,由于没有启动Activity来触发切换页面,所以可以降低切换页面所使用的时长,使页面切换的流畅性比较好。
附图说明
图1是本公开实施例提供的一种切换页面的方法流程图;
图2是本公开实施例提供的一种切换页面的方法流程图;
图3是本公开实施例提供的一种切换页面的装置的结构示意图;
图4是本公开实施例提供的一种终端的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
本公开实施例提供了一种切换页面的方法,该方法的执行主体可以是终端。终端可以是安装有安卓系统的终端,如安装有安卓系统的手机、平板等。
终端中可以设置有处理器、存储器和收发器等,处理器可以用于切换页面的过程的处理,存储器可以用于存储切换页面过程中需要的数据以及产生的数据,收发器可以用于接收以及发送数据,终端中还可以设置有屏幕等输入输出设备,屏幕可以用于显示界面等。
本公开实施例中以终端为手机为例进行方案的详细描述,并且以页面为直播间页面为例进行方案的详细描述,其它情况与之类似,本实施例不再累述。
本公开实施例提供了一种切换页面的方法,如图1所示,该方法的流程可以如下:
步骤101,在预先存储的控件、属性和初始属性值的三者对应关系中,确定切换前的页面中的控件的属性的初始属性值。
其中,初始属性值指在此次进入直播应用程序中第一个直播间时,在Activity页面初始加载页面布局时控件的初始属性值。
在实施中,用户想要观看直播,可以在终端中安装直播应用程序,使用自己的账户和密码登录直播应用程序,进入直播间,想要切换直播间,可以操作切换选项(如上下滑选项等,可以不显示在界面中,也可以显示在界面中),终端则会检测到切换直播间的指令,可以获取预先存储的控件、属性和初始属性值的三者的对应关系。然后在该对应关系中,确定切换前的页面(也即切换前的直播间)中的控件的属性的初始属性值。
需要说明的是,在上述对应关系中,存储的控件,可以是控件的ID(Identification,标识)。
步骤102,将切换前的页面中的控件的属性的属性值设置为初始属性值。
在实施中,终端确定切换前的页面中的控件的初始属性值后,可以将切换前的页面的控件的属性的属性值设置为初始属性值。
步骤103,基于切换后的页面的显示内容和切换前的页面中各控件的初始属性值,显示切换后的页面。
在实施中,终端可以获取切换后的页面中的显示内容,然后基于切换后的页面的显示内容和切换前的页面中各控件的初始属性值,显示切换后的页面,这样,相当于是显示切换后的直播间。
需要说明的是,在切换页面时,由于将切换前的页面中的控件的属性值设置为初始属性值,相当于是恢复到初始进入直播间的状态,所以可以像第一次进入直播间一样,显示切换后的页面。
可选的,本公开实施例还提供了建立View控件、属性和初始属性值三者的对应关系,相应的处理可以如下:
在通过Activity页面初始加载目标页面的布局时,获取目标页面中的View控件的属性的属性值,其中,目标页面与切换后的页面、切换前的页面属于同一类型的页面;基于目标页面中的View控件的属性和对应的属性值,建立对应关系。
其中,目标页面与切换后的页面、切换前的页面属于同一类型的页面,例如,它们均是直播间的直播界面。
在实施中,每次在直播应用程序中第一次进入目标页面时,需要通过Activity页面初始加载目标页面的布局,此时由于目标页面中的View控件的属性的属性值还是初始属性值,所以可以获取此时各View控件的属性的属性值。然后将各控件的属性的属性值,确定为各控件的属性的初始属性值,对应的存储至View控件、属性和初始属性值三者的对应关系中。这样,就建立起该对应关系。
需要说明的是,由于目标页面、切换后的页面、切换前的页面属于同一类型的页面,所以其中的View控件均相同,所以可以直接使用目标页面中View控件的属性的初始属性值。
可选的,本公开实施例提供了两种可行的方式来获取View控件的属性的属性值:
方式一:通过LayoutInflater中预设的Factory获取目标页面中的View控件的属性的属性值。
其中,预设的Factory可以是自定义的,用于获取View控件的属性的属性值。
在实施中,可以在LayoutInflater中自定义Factory(即预设的Factory),在通过Activity页面初始加载目标页面的布局时,通过预设的Factory获取目标页面中的View控件的属性的属性值。
方式二:通过解析目标页面的Layout中的xml文件来获取目标页面中的View控件的属性的属性值。
在实施中,终端可以获取目标页面的Layout中的xml(EXtensibleMarkupLanguage,可扩展标记语言)文件,然后解析目标页面的Layout中的xml文件,来获取目标页面中的View控件的属性的属性值。
这样,通过上述两种方式中的任意一种,均可以获取到目标页面中的View控件的属性的属性值。
可选的,在目标页面中包括ViewStub控件时,还需要建立ViewStub控件的标识与ViewStub控件的对应关系,相应的处理可以如下:
如果目标页面中的控件包括ViewStub控件,则建立ViewStub控件与初始化后的ViewStub控件的对应关系。
其中,ViewStub控件一种非常轻量级的控件,ViewStub控件没有大小,没有绘制功能,也不参与布局,资源的消耗方面非常低,将它放置在布局当中基本可以认为是完全不会影响性能。
在实施中,在目标页面中的控件包括ViewStub控件,可以获取ViewStub控件对应的已经被初始化的ViewStub控件,基于此建立ViewStub控件与初始化后的ViewStub控件的对应关系。
可选的,本公开实施例在步骤103之前,还可以对ViewStub控件进行初始化处理,相应的处理可以如下:
在ViewStub控件的标识与初始化后的ViewStub控件的对应关系中,确定切换后的页面中包括的ViewStub控件的标识对应的初始化后的目标ViewStub控件,将目标ViewStub控件从父类中移除,将切换后的页面中包括的ViewStub控件设置到父类中目标ViewStub控件的位置。
在实施中,如果切换后的页面中存在ViewStub控件,终端可以获取ViewStub控件与初始化后的ViewStub控件的对应关系,然后在该对应关系中,确定切换后的页面中包括的ViewStub控件对应的初始化后的目标ViewStub控件。然后可以将目标ViewStub控件从父类中移除。在移除成功后,将切换后的页面中包括的ViewStub控件设置到父类中目标ViewStub控件的位置。这样,也完成了切换后的页面中ViewStub控件的初始化处理。
需要说明的是,对于开发者,由于将切换后的页面中包括的ViewStub控件设置到父类中目标ViewStub控件的位置,所以在开发新的页面时,不需要关注ViewStub控件是否已经被初始化。
另外,如果切换后的页面中有些特殊的View控件,在步骤101的对应关系中查找不到,则可以通过onViewReset()接口来单独处理特殊View控件的重置,使其属性值为初始属性值。例如,动画过程中的中断与恢复。
另外,为了更方便理解,本公开实施例还提供了如图2所示的流程图:
在检测到切换页面时,进行View控件(包括View控件和ViewStub控件)的重置(也即初始化处理),在重置完毕后,显示切换后的页面。
需要说明的是,上述是以页面为直播间切换为例,只要切换前的页面与切换后的页面属于相同类型的页面,均可使用本公开实施例的方案,例如,切换前的页面和切换后的页面为同一应用程序中与两个联系账户的聊天界面(A将A与B聊天的界面,切换至A与C聊天的界面)。
本公开实施例中,在切换页面时,在预先存储的View控件、属性和初始属性值三者的对应关系中,确定切换前的页面中的View控件的属性的初始属性值,将切换前的页面中的View控件的属性的属性值设置为初始属性值,然后基于切换后的页面的显示内容和切换前的页面中各View控件的初始属性值,显示切换后的页面。这样,由于没有启动Activity来触发切换页面,所以可以降低切换页面所使用的时长,使页面切换的流畅性比较好。
基于相同的技术构思,本公开实施例还提供了一种切换页面的装置的结构示意图,如图3所示,该装置包括:
确定模块310,用于在预先存储的View控件、属性和初始属性值三者的对应关系中,确定切换前的页面中的View控件的属性的初始属性值;
设置模块320,用于将所述切换前的页面中的View控件的属性的属性值设置为初始属性值;
显示模块330,用于基于切换后的页面的显示内容和所述切换前的页面中各View控件的初始属性值,显示所述切换后的页面,其中,所述切换前的页面与切换后的页面属于同一类型的页面。
可选的,所述确定模块310,还用于:
在通过Activity页面初始加载目标页面的布局时,获取所述目标页面中的View控件的属性的属性值,其中,所述目标页面与所述切换后的页面、所述切换前的页面属于同一类型的页面;
基于所述目标页面中的View控件的属性的属性值,建立所述对应关系。
可选的,所述确定模块310,还用于:
通过LayoutInflater中预设的Factory获取所述目标页面中的View控件的属性的属性值;或者,
通过解析所述目标页面的Layout中的xml文件来获取所述目标页面中的View控件的属性的属性值。
可选的,所述确定模块310,还用于:
如果所述目标页面中的控件包括ViewStub控件,则建立ViewStub控件与初始化后的ViewStub控件的对应关系。
可选的,所述设置模块320,还用于:
基于切换后的页面的显示内容和所述切换前的页面中各View控件的初始属性值,显示所述切换后的页面之前,如果所述切换后的页面中包括ViewStub控件,则在所述ViewStub控件与初始化后的ViewStub控件的对应关系中,确定所述切换后的页面中包括的ViewStub控件的标识对应的初始化后的目标ViewStub控件;
将所述目标ViewStub控件从父类中移除;
将所述切换后的页面中包括的ViewStub控件设置到所述父类中所述目标ViewStub控件的位置。
本公开实施例中,在切换页面时,在预先存储的View控件、属性和初始属性值三者的对应关系中,确定切换前的页面中的View控件的属性的初始属性值,将切换前的页面中的View控件的属性的属性值设置为初始属性值,然后基于切换后的页面的显示内容和切换前的页面中各View控件的初始属性值,显示切换后的页面。这样,由于没有启动Activity来触发切换页面,所以可以降低切换页面所使用的时长,使页面切换的流畅性比较好。
需要说明的是:上述实施例提供的切换页面的装置在切换页面时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的切换页面的装置与切换页面的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图4示出了本发明一个示例性实施例提供的终端400的结构框图。该终端400可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio LayerIV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端400还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端400包括有:处理器401和存储器402。
处理器401可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器401可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器401也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器401可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器401还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器402可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器402还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器402中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器401所执行以实现本申请中方法实施例提供的切换页面的方法。
在一些实施例中,终端400还可选包括有:外围设备接口403和至少一个外围设备。处理器401、存储器402和外围设备接口403之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口403相连。具体地,外围设备包括:射频电路404、触摸显示屏405、摄像头406、音频电路407、定位组件408和电源409中的至少一种。
外围设备接口403可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器401和存储器402。在一些实施例中,处理器401、存储器402和外围设备接口403被集成在同一芯片或电路板上;在一些其他实施例中,处理器401、存储器402和外围设备接口403中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路404用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路404通过电磁信号与通信网络以及其他通信设备进行通信。射频电路404将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路404包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路404可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路404还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏405用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏405是触摸显示屏时,显示屏405还具有采集在显示屏405的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器401进行处理。此时,显示屏405还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏405可以为一个,设置终端400的前面板;在另一些实施例中,显示屏405可以为至少两个,分别设置在终端400的不同表面或呈折叠设计;在再一些实施例中,显示屏405可以是柔性显示屏,设置在终端400的弯曲表面上或折叠面上。甚至,显示屏405还可以设置成非矩形的不规则图形,也即异形屏。显示屏405可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件406用于采集图像或视频。可选地,摄像头组件406包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件406还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路407可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器401进行处理,或者输入至射频电路404以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端400的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器401或射频电路404的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路407还可以包括耳机插孔。
定位组件408用于定位终端400的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件408可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源409用于为终端400中的各个组件进行供电。电源409可以是交流电、直流电、一次性电池或可充电电池。当电源409包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端400还包括有一个或多个传感器410。该一个或多个传感器410包括但不限于:加速度传感器411、陀螺仪传感器412、压力传感器413、指纹传感器414、光学传感器415以及接近传感器416。
加速度传感器411可以检测以终端400建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器411可以用于检测重力加速度在三个坐标轴上的分量。处理器401可以根据加速度传感器411采集的重力加速度信号,控制触摸显示屏405以横向视图或纵向视图进行用户界面的显示。加速度传感器411还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器412可以检测终端400的机体方向及转动角度,陀螺仪传感器412可以与加速度传感器411协同采集用户对终端400的3D动作。处理器401根据陀螺仪传感器412采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器413可以设置在终端400的侧边框和/或触摸显示屏405的下层。当压力传感器413设置在终端400的侧边框时,可以检测用户对终端400的握持信号,由处理器401根据压力传感器413采集的握持信号进行左右手识别或快捷操作。当压力传感器413设置在触摸显示屏405的下层时,由处理器401根据用户对触摸显示屏405的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器414用于采集用户的指纹,由处理器401根据指纹传感器414采集到的指纹识别用户的身份,或者,由指纹传感器414根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器401授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器414可以被设置终端400的正面、背面或侧面。当终端400上设置有物理按键或厂商Logo时,指纹传感器414可以与物理按键或厂商Logo集成在一起。
光学传感器415用于采集环境光强度。在一个实施例中,处理器401可以根据光学传感器415采集的环境光强度,控制触摸显示屏405的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏405的显示亮度;当环境光强度较低时,调低触摸显示屏405的显示亮度。在另一个实施例中,处理器401还可以根据光学传感器415采集的环境光强度,动态调整摄像头组件406的拍摄参数。
接近传感器416,也称距离传感器,通常设置在终端400的前面板。接近传感器416用于采集用户与终端400的正面之间的距离。在一个实施例中,当接近传感器416检测到用户与终端400的正面之间的距离逐渐变小时,由处理器401控制触摸显示屏405从亮屏状态切换为息屏状态;当接近传感器416检测到用户与终端400的正面之间的距离逐渐变大时,由处理器401控制触摸显示屏405从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图4中示出的结构并不构成对终端400的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种切换页面的方法,其特征在于,所述方法包括:
在预先存储的View控件、属性和初始属性值三者的对应关系中,确定切换前的页面中的View控件的属性的初始属性值;
将所述切换前的页面中的View控件的属性的属性值设置为初始属性值;
基于切换后的页面的显示内容和所述切换前的页面中各View控件的初始属性值,显示所述切换后的页面,其中,所述切换前的页面与切换后的页面属于同一类型的页面。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在通过Activity页面初始加载目标页面的布局时,获取所述目标页面中的View控件的属性的属性值,其中,所述目标页面与所述切换后的页面、所述切换前的页面属于同一类型的页面;
基于所述目标页面中的View控件的属性的属性值,建立所述对应关系。
3.根据权利要求2所述的方法,其特征在于,所述获取所述目标页面中的View控件的属性的属性值,包括:
通过LayoutInflater中预设的Factory获取所述目标页面中的View控件的属性的属性值;或者,
通过解析所述目标页面的Layout中的xml文件来获取所述目标页面中的View控件的属性的属性值。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
如果所述目标页面中的控件包括ViewStub控件,则建立ViewStub控件与初始化后的ViewStub控件的对应关系。
5.根据权利要求4所述的方法,其特征在于,所述基于切换后的页面的显示内容和所述切换前的页面中各View控件的初始属性值,显示所述切换后的页面之前,还包括:
如果所述切换后的页面中包括ViewStub控件,则在所述ViewStub控件与初始化后的ViewStub控件的对应关系中,确定所述切换后的页面中包括的ViewStub控件的标识对应的初始化后的目标ViewStub控件;
将所述目标ViewStub控件从父类中移除;
将所述切换后的页面中包括的ViewStub控件设置到所述父类中所述目标ViewStub控件的位置。
6.一种切换页面的装置,其特征在于,所述装置包括:
确定模块,用于在预先存储的View控件、属性和初始属性值三者的对应关系中,确定切换前的页面中的View控件的属性的初始属性值;
设置模块,用于将所述切换前的页面中的View控件的属性的属性值设置为初始属性值;
显示模块,用于基于切换后的页面的显示内容和所述切换前的页面中各View控件的初始属性值,显示所述切换后的页面,其中,所述切换前的页面与切换后的页面属于同一类型的页面。
7.根据权利要求6所述的装置,其特征在于,所述确定模块,还用于:
在通过Activity页面初始加载目标页面的布局时,获取所述目标页面中的View控件的属性的属性值,其中,所述目标页面与所述切换后的页面、所述切换前的页面属于同一类型的页面;
基于所述目标页面中的View控件的属性的属性值,建立所述对应关系。
8.根据权利要求7所述的装置,其特征在于,所述确定模块,还用于:
通过LayoutInflater中预设的Factory获取所述目标页面中的View控件的属性的属性值;或者,
通过解析所述目标页面的Layout中的xml文件来获取所述目标页面中的View控件的属性的属性值。
9.根据权利要求7所述的装置,其特征在于,所述确定模块,还用于:
如果所述目标页面中的控件包括ViewStub控件,则建立ViewStub控件与初始化后的ViewStub控件的对应关系。
10.根据权利要求9所述的装置,其特征在于,所述设置模块,还用于:
基于切换后的页面的显示内容和所述切换前的页面中各View控件的初始属性值,显示所述切换后的页面之前,如果所述切换后的页面中包括ViewStub控件,则在所述ViewStub控件与初始化后的ViewStub控件的对应关系中,确定所述切换后的页面中包括的ViewStub控件的标识对应的初始化后的目标ViewStub控件;
将所述目标ViewStub控件从父类中移除;
将所述切换后的页面中包括的ViewStub控件设置到所述父类中所述目标ViewStub控件的位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910044639.2A CN109783176B (zh) | 2019-01-17 | 2019-01-17 | 切换页面的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910044639.2A CN109783176B (zh) | 2019-01-17 | 2019-01-17 | 切换页面的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109783176A true CN109783176A (zh) | 2019-05-21 |
CN109783176B CN109783176B (zh) | 2022-02-22 |
Family
ID=66501520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910044639.2A Active CN109783176B (zh) | 2019-01-17 | 2019-01-17 | 切换页面的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109783176B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110442419A (zh) * | 2019-08-15 | 2019-11-12 | 北京字节跳动网络技术有限公司 | Android应用的界面布局方法及装置 |
CN110619096A (zh) * | 2019-06-12 | 2019-12-27 | 北京无限光场科技有限公司 | 用于同步数据的方法和装置 |
CN112114923A (zh) * | 2020-09-16 | 2020-12-22 | 北京达佳互联信息技术有限公司 | 一种挂件显示方法、电子设备和存储介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020113795A1 (en) * | 2001-02-20 | 2002-08-22 | Petr Hrebejk | Method and apparatus for determining display element attribute values |
CN101533350A (zh) * | 2009-04-03 | 2009-09-16 | 深圳市宝捷信科技有限公司 | 一种页面快速切换方法、装置和注塑机系统 |
CN101609403A (zh) * | 2009-07-29 | 2009-12-23 | 金蝶软件(中国)有限公司 | 一种页面布局动态切换方法及系统 |
CN103809864A (zh) * | 2012-11-07 | 2014-05-21 | 阿里巴巴集团控股有限公司 | 一种动态切换界面的方法和装置 |
CN104462567A (zh) * | 2014-12-26 | 2015-03-25 | 北京奇虎科技有限公司 | web页面的切换方法和装置及综合页面提供装置 |
CN104572098A (zh) * | 2014-12-30 | 2015-04-29 | 北京奇虎科技有限公司 | 一种移动终端页面图表的更新方法和装置 |
CN106028166A (zh) * | 2016-06-24 | 2016-10-12 | 北京小米移动软件有限公司 | 直播过程中直播间切换方法及装置 |
CN106488254A (zh) * | 2016-11-16 | 2017-03-08 | 广州华多网络科技有限公司 | 一种直播画面切换的方法和系统 |
CN106610856A (zh) * | 2016-12-22 | 2017-05-03 | 金蝶软件(中国)有限公司 | 一种页面控件设置方法及装置 |
CN107943552A (zh) * | 2017-11-16 | 2018-04-20 | 腾讯科技(成都)有限公司 | 一种移动终端的页面切换方法和移动终端 |
CN108008997A (zh) * | 2017-12-22 | 2018-05-08 | 北京酷我科技有限公司 | 一种app皮肤统一更换的方法 |
CN108008871A (zh) * | 2016-10-27 | 2018-05-08 | 阿里巴巴集团控股有限公司 | 一种页面生成方法及装置 |
CN108108205A (zh) * | 2016-11-25 | 2018-06-01 | 腾讯科技(深圳)有限公司 | 应用程序页面处理方法和装置 |
CN108563377A (zh) * | 2018-04-10 | 2018-09-21 | 青岛海信移动通信技术股份有限公司 | 切换显示页面的方法和装置 |
CN109189525A (zh) * | 2018-08-10 | 2019-01-11 | 广州酷狗计算机科技有限公司 | 加载子页面的方法、装置、设备及计算机可读存储介质 |
-
2019
- 2019-01-17 CN CN201910044639.2A patent/CN109783176B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020113795A1 (en) * | 2001-02-20 | 2002-08-22 | Petr Hrebejk | Method and apparatus for determining display element attribute values |
CN101533350A (zh) * | 2009-04-03 | 2009-09-16 | 深圳市宝捷信科技有限公司 | 一种页面快速切换方法、装置和注塑机系统 |
CN101609403A (zh) * | 2009-07-29 | 2009-12-23 | 金蝶软件(中国)有限公司 | 一种页面布局动态切换方法及系统 |
CN103809864A (zh) * | 2012-11-07 | 2014-05-21 | 阿里巴巴集团控股有限公司 | 一种动态切换界面的方法和装置 |
CN104462567A (zh) * | 2014-12-26 | 2015-03-25 | 北京奇虎科技有限公司 | web页面的切换方法和装置及综合页面提供装置 |
CN104572098A (zh) * | 2014-12-30 | 2015-04-29 | 北京奇虎科技有限公司 | 一种移动终端页面图表的更新方法和装置 |
CN106028166A (zh) * | 2016-06-24 | 2016-10-12 | 北京小米移动软件有限公司 | 直播过程中直播间切换方法及装置 |
CN108008871A (zh) * | 2016-10-27 | 2018-05-08 | 阿里巴巴集团控股有限公司 | 一种页面生成方法及装置 |
CN106488254A (zh) * | 2016-11-16 | 2017-03-08 | 广州华多网络科技有限公司 | 一种直播画面切换的方法和系统 |
CN108108205A (zh) * | 2016-11-25 | 2018-06-01 | 腾讯科技(深圳)有限公司 | 应用程序页面处理方法和装置 |
CN106610856A (zh) * | 2016-12-22 | 2017-05-03 | 金蝶软件(中国)有限公司 | 一种页面控件设置方法及装置 |
CN107943552A (zh) * | 2017-11-16 | 2018-04-20 | 腾讯科技(成都)有限公司 | 一种移动终端的页面切换方法和移动终端 |
CN108008997A (zh) * | 2017-12-22 | 2018-05-08 | 北京酷我科技有限公司 | 一种app皮肤统一更换的方法 |
CN108563377A (zh) * | 2018-04-10 | 2018-09-21 | 青岛海信移动通信技术股份有限公司 | 切换显示页面的方法和装置 |
CN109189525A (zh) * | 2018-08-10 | 2019-01-11 | 广州酷狗计算机科技有限公司 | 加载子页面的方法、装置、设备及计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
BONGSUE SUH; LE VAN LONG; JIN SEEK CHOI: "Paging Strategy with Dynamic Wake-Up Period in Cellular Communication Systems", 《COIN-NGNCON 2006 - THE JOINT INTERNATIONAL CONFERENCE ON OPTICAL INTERNET AND NEXT GENERATION NETWORK》 * |
MMMMAR: "利用ViewStub实现布局懒惰加载", 《HTTPS://WWW.CNBLOGS.COM/MMMMAR/P/8617145.HTML》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110619096A (zh) * | 2019-06-12 | 2019-12-27 | 北京无限光场科技有限公司 | 用于同步数据的方法和装置 |
CN110442419A (zh) * | 2019-08-15 | 2019-11-12 | 北京字节跳动网络技术有限公司 | Android应用的界面布局方法及装置 |
CN112114923A (zh) * | 2020-09-16 | 2020-12-22 | 北京达佳互联信息技术有限公司 | 一种挂件显示方法、电子设备和存储介质 |
WO2022057407A1 (zh) * | 2020-09-16 | 2022-03-24 | 北京达佳互联信息技术有限公司 | 挂件显示方法和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109783176B (zh) | 2022-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102336368B1 (ko) | 오디오 데이터를 재생하기 위한 방법 및 장치 | |
CN110841285B (zh) | 界面元素的显示方法、装置、计算机设备及存储介质 | |
US20190267037A1 (en) | Method, apparatus and terminal for controlling video playing | |
CN110971930A (zh) | 虚拟形象直播的方法、装置、终端及存储介质 | |
CN110278464B (zh) | 显示榜单的方法和装置 | |
CN108093307B (zh) | 获取播放文件的方法和系统 | |
CN107888968A (zh) | 直播视频的播放方法、装置及计算机存储介质 | |
CN108449641A (zh) | 播放媒体流的方法、装置、计算机设备和存储介质 | |
CN109657165A (zh) | 页面跳转方法及装置 | |
CN107896337B (zh) | 信息推广方法、装置及存储介质 | |
US20220342631A1 (en) | Method and system for playing audios | |
EP3618055A1 (en) | Audio mixing method and apparatus, and storage medium | |
CN109800003B (zh) | 应用下载方法、装置、终端及存储介质 | |
CN109068008A (zh) | 铃声设置方法、装置、终端及存储介质 | |
CN115378900A (zh) | 歌单共享方法、装置、终端及存储介质 | |
CN110121084A (zh) | 切换端口的方法、装置和系统 | |
CN108900921A (zh) | 连麦直播方法、装置及存储介质 | |
CN109783176A (zh) | 切换页面的方法和装置 | |
CN111241499A (zh) | 应用程序登录的方法、装置、终端及存储介质 | |
WO2020244516A1 (zh) | 在线互动的方法和装置 | |
CN110234036B (zh) | 一种播放多媒体文件的方法、装置及系统 | |
CN111083554A (zh) | 直播礼物显示的方法和装置 | |
CN112616082A (zh) | 视频预览方法、装置、终端及存储介质 | |
CN112118353A (zh) | 信息显示方法、装置、终端及计算机可读存储介质 | |
CN109107163B (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 |