CN110109663B - 一种设置全屏的方法及相关装置 - Google Patents
一种设置全屏的方法及相关装置 Download PDFInfo
- Publication number
- CN110109663B CN110109663B CN201910242292.2A CN201910242292A CN110109663B CN 110109663 B CN110109663 B CN 110109663B CN 201910242292 A CN201910242292 A CN 201910242292A CN 110109663 B CN110109663 B CN 110109663B
- Authority
- CN
- China
- Prior art keywords
- function
- status bar
- mobile terminal
- full
- screen
- 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
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000006870 function Effects 0.000 claims description 199
- 230000003068 static effect Effects 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 239000011800 void material Substances 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例公开了一种设置全屏的方法及相关装置,更加便捷的设置全屏模式并增加全屏的显示范围。本申请实施例方法包括:接收用户发送的第一指令,所述第一指令用于指示所述移动终端全屏显示;响应于所述第一指令,通过调用函数getSDK( )获取所述***的软件开发工具包SDK的版本信息,所述函数getSDK( )的返回值Build.VERSION.SDK_INT为整数型;判断所述返回值Build.VERSION.SDK_INT是否大于预设版本的值;若所述返回值Build.VERSION.SDK_INT大于所述预设版本的值,则确定所述移动终端的***的版本晚于所述预设版本;通过调用全屏函数将所述移动终端全屏显示,并将所述移动终端的***状态栏设置为全透明。
Description
技术领域
本申请涉及软件开发领域,尤其涉及一种设置全屏的方法及相关装置。
背景技术
随着移动终端的普及,移动终端的用处越来越多,例如看电影、听音乐、购物等。在很多场景下,例如看电影时,用户都会选择全屏模式来加大显示面积。现有技术中,设置全屏的方法主要是通过***申请全屏的权限,然后在启动的时候设置***的全屏属性等信息来实现全屏效果。
然而,现有技术中设置流程复杂,并且还需要申请***的权限,如果权限申请不到极有可能出现无法显示全屏的问题,且现有技术中,设置全屏后会携带***中一些自带的头部,效果和真正的全屏有所区别。因此如何更加便捷的设置全屏模式并真正实现全屏,是当前一个很重要的问题。
发明内容
本申请实施例提供了一种设置全屏的方法及相关装置,用于更加便捷的设置全屏模式并增加全屏的显示范围。
本申请实施例的第一方面提供了一种设置全屏的方法,应用于移动终端,包括:接收用户发送的第一指令,所述第一指令用于指示所述移动终端全屏显示;响应于所述第一指令,通过调用函数getSDK()获取所述***的软件开发工具包SDK的版本信息,所述函数getSDK()的返回值Build.VERSION.SDK_INT为整数型;判断所述返回值Build.VERSION.SDK_INT是否大于预设版本的值;若所述返回值Build.VERSION.SDK_INT大于所述预设版本的值,则确定所述移动终端的***的版本晚于所述预设版本;通过调用全屏函数将所述移动终端全屏显示,并将所述移动终端的***状态栏设置为全透明。
在一种可能的实施例中,所述方法还包括:若所述返回值Build.VERSION.SDK_INT是否小于所述预设版本的值,则确定所述移动终端的***的版本早于所述预设版本;通过可扩展标记语言XML将所述移动终端将所述移动终端全屏显示,其中,所述移动终端的***状态栏为非透明状态。
在一种可能的实施例中,通过调用全屏函数将所述移动终端全屏显示,并将所述移动终端的***状态栏设置为全透明之前,所述方法还包括:定义所述全屏函数setFullScreen();定义状态栏函数setTranslucentStatus(),和状态栏管理器对象mTintManager,所述状态栏函数用于设置所述状态栏的透明度,所述状态栏函数为私有类型的静态函数,所述状态栏函数包括window类型的对象win和布尔boolean类型的对象on,所述状态栏管理器对象mTintManager用于设置所述状态栏在全屏状态时的装填信息。
在一种可能的实施例中,所述定义所述全屏函数setFullScreen()包括:定义屏幕辅助类,所述屏幕辅助类为公有类型的类;在所述屏幕辅助类中设置所述全屏函数setFullScreen(),所述全屏函数为公有类型的静态函数,所述全屏函数setFullScreen()包括数据类型为布尔boolean的设置参数,所述设置参数为true时,表示设置为全屏状态;所述设置参数为false时,表示设置为非全屏状态。
在一种可能的实施例中,所述定义状态栏函数setTranslucentStatus()包括:通过调用函数win.getAttributes()获取所述对象win的属性信息,所述函数win.getAttributes()的返回值为WindowManager.LayoutParams类型的对象winParams;通过调用函数WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS获取到所述对象winParams中的FLAG_TRANSLUCENT_STATUS当前的标签状态信息bits,所述FLAG_TRANSLUCENT_STATUS用于指示将所述状态栏设置为透明,当所述对象on==true时,所述bits的值为1;当所述on==false时,所述bits的值为0;通过调用函数win.setAttributes(winParams)将所述对象winParams的属性设置到所述对象win中。
在一种可能的实施例中,所述并将所述移动终端的***状态栏设置为全透明包括:通过调用函数getWindow()获取到所述状态栏函数setTranslucentStatus()中的对象win,并将所述状态栏函数setTranslucentStatus()中的对象on设置为true;对所述状态栏管理器对象mTintManager进行初始化处理;通过调用所述状态栏管理器对象mTintManager中的函数mTintManager.setStatusBarTintEnabled(false)将所述状态栏设置为全屏状态栏;通过调用所述状态栏管理器对象mTintManager中的函数mTintManager.setTintColor(getResources().getColor(R.color.transparent))将所述全屏状态栏的文字背景设置为透明颜色。
在一种可能的实施例中,通过调用全屏函数将所述移动终端全屏显示,并将所述移动终端的***状态栏设置为全透明之后,所述方法还包括:接收所述用户发送的第二指令,所述第二指令用于指示所述移动终端退出全屏显示;响应于所述第二指令,通过调用函数getWindow()获取到所述状态栏函数setTranslucentStatus()中的对象win,并将所述状态栏函数setTranslucentStatus()中的对象on设置为false;将所述状态栏管理器对象mTintManager中的函数mTintManager.setStatusBarTintEnabled(false)修改为mTintManager.setStatusBarTintEnabled(true)。
本申请实施例的第二方面提供了一种移动终端,包括:收发单元,用于接收用户发送的第一指令,所述第一指令用于指示所述移动终端全屏显示;获取单元,用于响应于所述第一指令,通过调用函数getSDK()获取所述***的软件开发工具包SDK的版本信息,所述函数getSDK()的返回值Build.VERSION.SDK_INT为整数型;判断单元,用于判断所述返回值Build.VERSION.SDK_INT是否大于预设版本的值;确定单元,用于若所述返回值Build.VERSION.SDK_INT大于所述预设版本的值,则确定所述移动终端的***的版本晚于所述预设版本;显示单元,用于通过调用全屏函数将所述移动终端全屏显示,并将所述移动终端的***状态栏设置为全透明。
本申请第三方面提供了一种电子设备,包括存储器、处理器,其特征在于,所述处理器用于执行存储器中存储的计算机管理类程序时实现如上述任意一项所述的方法的步骤。
本申请第四方面提供了一种计算机可读存储介质,其上存储有计算机管理类程序,其特征在于:所述计算机管理类程序被处理器执行时实现如上述任意一项所述的方法的步骤。
从以上技术方案可以看出,本申请实施例具有以下优点:接收用户发送的第一指令,所述第一指令用于指示所述移动终端全屏显示;响应于所述第一指令,通过调用函数getSDK()获取所述***的软件开发工具包SDK的版本信息,所述函数getSDK()的返回值Build.VERSION.SDK_INT为整数型;判断所述返回值Build.VERSION.SDK_INT是否大于预设版本的值;若所述返回值Build.VERSION.SDK_INT大于所述预设版本的值,则确定所述移动终端的***的版本晚于所述预设版本;通过调用全屏函数将所述移动终端全屏显示,并将所述移动终端的***状态栏设置为全透明。本申请实施例中,能够便捷动态的对全屏和非全屏状态进行切换,并且摒弃了传统方案中实现需要申请权限及设置一大堆***Window相关的参数来实现全屏的弊端,极大的提高了全屏变化的灵活性和便捷性,同时,还移动终端的***状态栏设置为全透明,相对于现有技术实现了更大范围的全屏。
附图说明
图1a为本申请实施例提供的一种可能的设置全屏的方法的流程图;
图1b为现有技术中一种可能的状态栏的显示图;
图1c为本申请实施例提供的一种可能的状态栏的显示图;
图2为本申请实施例提供的一种可能的移动终端的结构示意图;
图3为本申请实施例提供的一种可能的电子设备的硬件结构示意图;
图4为本申请实施例提供的一种可能的计算机可读存储介质的硬件结构示意图。
具体实施方式
本申请实施例提供了一种设置全屏的方法及相关装置,用于更加便捷的设置全屏模式并增加全屏的显示范围。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请提供了一种设置全屏的方法,请参阅图1a,为本申请实施例提供的一种设置全屏的方法的流程图,具体包括:
101、定义全屏函数;
为了能够动态的对全屏和非全屏进行切换,本申请实施例中,通过定义全屏函数来设置移动终端的全屏显示,其中,该全屏函数为应用程序编程接口(applicationprogramming interface,API)函数。在定义全屏函数之前,首先需要定义一个类来承载该全屏函数,为便于描述,将该类称为屏幕辅助类,通过该屏幕辅助类,能够更加方便且快捷的获取到该类的对象信息。具体地,可通过public class语句定义该屏幕辅助类,其中,public可以修饰类,表示公共的访问权限,具体定义该屏幕辅助类的函数表达如下:
Public class ScreenUtils{}
其中,ScreenUtils用于表示该屏幕辅助类,该屏幕辅助类为一个公有(public)类型的类,使得其他类具备访问该屏幕辅助类的权限。
定义了屏幕辅助类后,在该屏幕辅助类中定义一个设置全屏的实现函数即全屏函数,具体地,可通过public void static语句定义该全屏函数,其中,void表示返回值空,static用来修饰类的成员(属性、方法、初始化块,或者内部类),修饰之后叫做静态属性或者静态方法等。定义该全屏函数的具体函数实现可以如下:
public void static setFullScreen(boolean full){}
其中,setFullScreen()用于表示全屏函数,该全屏函数为公有类型的静态(static)函数,该全屏函数的返回值是一个void类型的返回值,也就是没有返回值信息,该全屏函数有一个参数,该参数是一个布尔boolean类型的full,当full为true的时候表示将移动终端设置为全屏,当full为false表示将移动终端设置成非全屏状态。需要说明的是,由于全屏函数是一个静态的函数,因此该全屏函数可直接通过屏幕辅助类即类ScreenUtils来进行访问无需通过类ScreenUtils的对象来进行访问,故能够提高访问全屏函数的便捷性等。
因此,通过上述的设计实现了屏幕辅助类的定义并提供了全屏函数来动态改变***的全屏和非全屏状态的API函数。
102、定义状态栏函数;
有鉴于现有技术中将移动终端设置为全屏时,状态栏可能会显黑条,如图1b所示,为现有技术中一种可能的状态栏图,这样的状态栏视觉效果较差,不能实现真正的全屏。故本申请实施例中,通过定义状态栏函数,来设置状态栏的透明度,当状态栏为全透明时,可以将该全透明的状态栏称为沉浸式状态栏。另外,还通过定义状态栏管理器对象来设置状态栏在全屏状态时的装填信息,如状态栏的字体颜色和图标颜色等。
具体地,通过private static void语句定义该状态栏函数,其中,private用来修饰类成员,表示访问控制,private修饰的成员表示只能在类内部才能访问。本申请中,定义该状态栏函数的函数表达如下:
Private static void setTranslucentStatus(Window win,boolean on);
其中,setTranslucentStatus()用于表示状态栏函数,该状态栏函数是私有(private)类型的函数,该函数可以供全屏函数setFullScreen来进行调用使用。该状态栏函数也是一个静态(static)函数,且该状态栏函数是没有返回值信息的,需要说明的是,该状态栏函数有两个参数,包括Window类型的对象win,和布尔(boolean)类型的变量on。本申请实施例中,通过调用函数get Windows()获取到对象win,且由于变量on的类型为布尔类型,故变量on的值为true或者false。以下将对通过该两个参数的属性设置实现状态栏全透明进行详细说明:
首先通过调用对象win中的函数win.getAttributes()来获取该对象win的属性信息,该函数win.getAttributes()的返回值为WindowManager.LayoutParams类型的对象winParams,再通过调用函数WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS来获取到对象winParams中的FLAG_TRANSLUCENT_STATUS当前的标签状态信息,为便于描述,将该标签状态信息标记为bits,其中,FLAG_TRANSLUCENT_STATUS用于指示将状态栏设置为透明,即当bits的值为1时,表示FLAG_TRANSLUCENT_STATUS为true,即将状态栏设置为透明;当bits的值为0时,状态栏不为透明。本申请实施例中,如果对象on==true时,通过调用函数winParams.flags|=bits将winParams中的FLAG_TRANSLUCENT_STATUS的标签状态信息设置为true,就是将bits的值设为1;类似的,如果对象on==false,就通过调用函数winParams.flags&=~bits将bits的值设为0,以清除FLAG_TRANSLUCENT_STATUS,即退出状态栏全透明;最后再调用函数win.setAttributes(winParams)来将对象winParams的属性设置到对象win中,即完成了属性的设置,整个属性设置的具体函数实现如下:
103、定义状态栏管理器对象;
另外,由于状态栏也有对应的字体和图标,为了使全透明状态栏与移动终端在全屏时使用的应用程序的风格一体化,本申请实施例中,还通过定义状态栏管理器对象来设置状态栏在全屏状态时的装填信息,该装填信息包括状态栏的字体颜色和图标颜色等。具体地,通过private SystemBarTintManager mTintManager语句定义该状态栏管理器对象,其中,SystemBarTintManager是状态栏的管理实例,作用是沉浸式状态栏的管理类,mTintManager表示状态栏管理器对象。
104、接收用户发送的第一指令;
105、响应于第一指令,判断安装在移动终端的***版本是否晚于预设版本;
当用户在使用移动终端时,需要移动终端全屏幕显示时,移动终端接收用户发送的第一指令,该第一指令用于指示移动终端全屏显示。需要说明的是,由于本申请实施例提供的设置全屏方式的实现是需要使用Build.VERSION_CODES.KITKAT版本以上才会有的***API函数,该版本以下的***不具备其中的某些实现函数,从而无在低版本中实现本方案所述的设置全屏的方法。由于目前市面上大多数的手持设备已经都在Build.VERSION_CODES.KITKAT版本之上了,因此可以适配绝大多数的版本***。基于此,在实现全屏显示之前,会判断安装在该移动终端的***版本是否晚于预设版本。具体地,通过调用函数getSDK()获取该***的软件开发工具包(Software Development Kit,SDK)的版本信息,其中函数getSDK()的返回值Build.VERSION.SDK_INT为整数型。在得到***的SDK的版本信息后,判断其是否晚于预设版本,具体函数实现如下:
if(Build.VERSION.SDK_INT<Build.VERSION_CODES.KITKAT){
return;
}
其中,Build.VERSION_CODES.KITKAT用于表示预设版本的值,可选的,该预设版本可以为Android4.4,或者其他版本,具体此处不做限定。另外,在实际应用中,更新后的版本的值会大于更新前的版本的值,例如应用程序包括版本3和版本5,可以认为版本5的出现晚于版本3。故当Build.VERSION.SDK_INT<Build.VERSION_CODES.KITKAT时,确定安装在移动终端的***版本早于预设版本;反之,则确定安装在移动终端的***版本晚于预设版本。
106、若是,通过调用全屏函数将移动终端全屏显示,并将移动终端的***状态栏设置为全透明;
若安装在移动终端的***版本晚于预设版本,则通过调用全屏函数将移动终端全屏显示,即将步骤101中定义的全屏函数setFullScreen的参数full设置为true,并通过步骤102中定义的状态栏函数setTranslucentStatus()设置状态栏的透明度信息,本申请实施例中,将处于全屏显示中的状态栏设置为全透明。由于状态栏函数setTranslucentStatus()中需要传递两个参数信息,即对象win和对象on,通过调用函数getWindow()获取对象win,并将对象on的值设置为true,即最终的调用函数为setTranslucentStatus(getWindow(),true)。
将状态栏设置为全透明时,还通过步骤103定义的状态栏管理器对象mTintManager将状态栏的信息进行装填,使状态栏的显示风格与整个全屏画面更加一致。具体地,对状态管理器对象mTintManager进行初始化操作,具体初始化操作的函数表达如下:
SystemBarTintManager mTintManager=new systemBarTintManager(this);
在得到初始化后的状态管理器对象,即对象mTintManager后,再通过调用状态栏管理器对象mTintManager中的函数mTintManager.setStatusBarTintEnabled(false)将状态栏设置为全屏状态栏,然后通过调用状态栏管理器对象mTintManager中的函数mTintManager.setTintColor(getResources().getColor(R.color.transparent))将该全屏状态栏的文字背景设置为透明颜色,其中,getResources()用于读取***资源,getColor(R.color.transparent)用于获取透明色的文字背景。
通过上述方式,即完成了全屏状态栏的设置信息。为便于理解,请参造图1c,为本申请实施例提供另一种可能的状态栏图,其中,该状态栏图为经过本实施例提供的设置全屏方式处理后的状态栏图。
可选的,若安装在移动终端的***版本早于预设版本,则使用传统方案的方式来设置全屏,如采用XML方式将移动终端设置为全屏显示,需要说明的是,设置完成后的移动终端的***状态栏为非透明状态,即会保持原***状态栏原有的透明度。具体此处不再赘述。
107、接收用户发送的第二指令;
108、响应于第二指令,将移动终端退出全屏显示。
可选的,当用户需要退出全屏显示时,向移动终端发送第二指令,该第二指令用于指示移动终端退出全屏显示;响应于第二指令,将移动终端退出全屏显示。具体地,通过调用函数getWindow()获取到状态栏函数setTranslucentStatus()中的对象win,并将状态栏函数setTranslucentStatus()中的对象on设置为false;再将状态栏管理器对象mTintManager中的函数mTintManager.setStatusBarTintEnabled(false)修改为mTintManager.setStatusBarTintEnabled(true),即可实现移动终端全屏显示的退出,也将全屏状态栏更改为非全屏状态栏。
本申请实施例中,能够有效的动态的对全屏和非全屏状态进行切换,并且摒弃了传统方案中实现需要申请权限及设置一大堆***Window相关的参数来实现全屏的弊端,极大的提高了全屏变化的灵活性和便捷性等。同时,还通过定义状态栏函数个状态栏管理器对象实现状态栏的全屏以及状态栏背景色的全透明,实现了更大范围的全屏。
上面从设置全屏的方法的角度对本申请实施例进行了描述,下面从移动终端的角度对本申请实施例进行描述。
请参阅图2,图2为本申请实施例提供的一种可能的移动终端的实施例示意图,其中,该移动终端具体包括:
收发单元201,用于接收用户发送的第一指令,所述第一指令用于指示所述移动终端全屏显示;
获取单元202,用于响应于所述第一指令,通过调用函数getSDK()获取所述***的软件开发工具包SDK的版本信息,所述函数getSDK()的返回值Build.VERSION.SDK_INT为整数型;
判断单元203,用于判断所述返回值Build.VERSION.SDK_INT是否大于预设版本的值;
确定单元204,用于若所述返回值Build.VERSION.SDK_INT大于所述预设版本的值,则确定所述移动终端的***的版本晚于所述预设版本;
显示单元205,用于通过调用全屏函数将所述移动终端全屏显示,并将所述移动终端的***状态栏设置为全透明。
请参阅图3,图3为本申请实施例提供的电子设备的实施例示意图。
如图3所示,本申请实施例提供了一种电子设备,包括存储器310、处理器320及存储在存储器320上并可在处理器320上运行的计算机程序311,处理器320执行计算机程序311时实现以下步骤:接收用户发送的第一指令,所述第一指令用于指示所述移动终端全屏显示;响应于所述第一指令,通过调用函数getSDK()获取所述***的软件开发工具包SDK的版本信息,所述函数getSDK()的返回值Build.VERSION.SDK_INT为整数型;判断所述返回值Build.VERSION.SDK_INT是否大于预设版本的值;若所述返回值Build.VERSION.SDK_INT大于所述预设版本的值,则确定所述移动终端的***的版本晚于所述预设版本;通过调用全屏函数将所述移动终端全屏显示,并将所述移动终端的***状态栏设置为全透明。
可选的,在一种可能的实施例中,所述处理器320还用于:若所述返回值Build.VERSION.SDK_INT是否小于所述预设版本的值,则确定所述移动终端的***的版本早于所述预设版本;通过可扩展标记语言XML将所述移动终端将所述移动终端全屏显示,其中,所述移动终端的***状态栏为非透明状态。
可选的,在一种可能的实施例中,所述处理器320还用于:定义所述全屏函数setFullScreen();定义状态栏函数setTranslucentStatus(),和状态栏管理器对象mTintManager,所述状态栏函数用于设置所述状态栏的透明度,所述状态栏函数为私有类型的静态函数,所述状态栏函数包括window类型的对象win和布尔boolean类型的对象on,所述状态栏管理器对象mTintManager用于设置所述状态栏在全屏状态时的装填信息。
可选的,在一种可能的实施例中,所述处理器320具体用于:定义屏幕辅助类,所述屏幕辅助类为公有类型的类;在所述屏幕辅助类中设置所述全屏函数setFullScreen(),所述全屏函数为公有类型的静态函数,所述全屏函数setFullScreen()包括数据类型为布尔boolean的设置参数,所述设置参数为true时,表示设置为全屏状态;所述设置参数为false时,表示设置为非全屏状态。
可选的,在一种可能的实施例中,所述处理器320具体用于:通过调用函数win.getAttributes()获取所述对象win的属性信息,所述函数win.getAttributes()的返回值为WindowManager.LayoutParams类型的对象winParams;通过调用函数WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS获取到所述对象winParams中的FLAG_TRANSLUCENT_STATUS当前的标签状态信息bits,所述FLAG_TRANSLUCENT_STATUS用于指示将所述状态栏设置为透明,当所述对象on==true时,所述bits的值为1;当所述on==false时,所述bits的值为0;通过调用函数win.setAttributes(winParams)将所述对象winParams的属性设置到所述对象win中。
可选的,在一种可能的实施例中,所述处理器320具体用于:通过调用函数getWindow()获取到所述状态栏函数setTranslucentStatus()中的对象win,并将所述状态栏函数setTranslucentStatus()中的对象on设置为true;对所述状态栏管理器对象mTintManager进行初始化处理;通过调用所述状态栏管理器对象mTintManager中的函数mTintManager.setStatusBarTintEnabled(false)将所述状态栏设置为全屏状态栏;通过调用所述状态栏管理器对象mTintManager中的函数mTintManager.setTintColor(getResources().getColor(R.color.transparent))将所述全屏状态栏的文字背景设置为透明颜色。
可选的,在一种可能的实施例中,所述处理器320还用于:接收所述用户发送的第二指令,所述第二指令用于指示所述移动终端退出全屏显示;响应于所述第二指令,通过调用函数getWindow()获取到所述状态栏函数setTranslucentStatus()中的对象win,并将所述状态栏函数setTranslucentStatus()中的对象on设置为false;将所述状态栏管理器对象mTintManager中的函数mTintManager.setStatusBarTintEnabled(false)修改为mTintManager.setStatusBarTintEnabled(true)。
由于本实施例所介绍的电子设备为实施本申请实施例中一种移动终端所采用的设备,故而基于本申请实施例中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本申请实施例中的方法不再详细介绍,只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。
请参阅图4,图4为本申请实施例提供的一种计算机可读存储介质的实施例示意图。
如图4所示,本实施例提供了一种计算机可读存储介质400,其上存储有计算机程序411,该计算机程序411被处理器执行时实现如下步骤:接收用户发送的第一指令,所述第一指令用于指示所述移动终端全屏显示;响应于所述第一指令,通过调用函数getSDK()获取所述***的软件开发工具包SDK的版本信息,所述函数getSDK()的返回值Build.VERSION.SDK_INT为整数型;判断所述返回值Build.VERSION.SDK_INT是否大于预设版本的值;若所述返回值Build.VERSION.SDK_INT大于所述预设版本的值,则确定所述移动终端的***的版本晚于所述预设版本;通过调用全屏函数将所述移动终端全屏显示,并将所述移动终端的***状态栏设置为全透明。
可选的,在一种可能的实施例中,该计算机程序411被处理器执行时还用于实现如下步骤:若所述返回值Build.VERSION.SDK_INT是否小于所述预设版本的值,则确定所述移动终端的***的版本早于所述预设版本;通过可扩展标记语言XML将所述移动终端将所述移动终端全屏显示,其中,所述移动终端的***状态栏为非透明状态。
可选的,在一种可能的实施例中,该计算机程序411被处理器执行时还用于实现如下步骤:定义所述全屏函数setFullScreen();定义状态栏函数setTranslucentStatus(),和状态栏管理器对象mTintManager,所述状态栏函数用于设置所述状态栏的透明度,所述状态栏函数为私有类型的静态函数,所述状态栏函数包括window类型的对象win和布尔boolean类型的对象on,所述状态栏管理器对象mTintManager用于设置所述状态栏在全屏状态时的装填信息。
可选的,在一种可能的实施例中,该计算机程序411被处理器执行时具体用于实现如下步骤:定义屏幕辅助类,所述屏幕辅助类为公有类型的类;在所述屏幕辅助类中设置所述全屏函数setFullScreen(),所述全屏函数为公有类型的静态函数,所述全屏函数setFullScreen()包括数据类型为布尔boolean的设置参数,所述设置参数为true时,表示设置为全屏状态;所述设置参数为false时,表示设置为非全屏状态。
可选的,在一种可能的实施例中,该计算机程序411被处理器执行时具体用于实现如下步骤:通过调用函数win.getAttributes()获取所述对象win的属性信息,所述函数win.getAttributes()的返回值为WindowManager.LayoutParams类型的对象winParams;通过调用函数WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS获取到所述对象winParams中的FLAG_TRANSLUCENT_STATUS当前的标签状态信息bits,所述FLAG_TRANSLUCENT_STATUS用于指示将所述状态栏设置为透明,当所述对象on==true时,所述bits的值为1;当所述on==false时,所述bits的值为0;通过调用函数win.setAttributes(winParams)将所述对象winParams的属性设置到所述对象win中。
可选的,在一种可能的实施例中,该计算机程序411被处理器执行时具体用于实现如下步骤:通过调用函数getWindow()获取到所述状态栏函数setTranslucentStatus()中的对象win,并将所述状态栏函数setTranslucentStatus()中的对象on设置为true;对所述状态栏管理器对象mTintManager进行初始化处理;通过调用所述状态栏管理器对象mTintManager中的函数mTintManager.setStatusBarTintEnabled(false)将所述状态栏设置为全屏状态栏;通过调用所述状态栏管理器对象mTintManager中的函数mTintManager.setTintColor(getResources().getColor(R.color.transparent))将所述全屏状态栏的文字背景设置为透明颜色。
可选的,在一种可能的实施例中,该计算机程序411被处理器执行时还用于实现如下步骤:
接收所述用户发送的第二指令,所述第二指令用于指示所述移动终端退出全屏显示;响应于所述第二指令,通过调用函数getWindow()获取到所述状态栏函数setTranslucentStatus()中的对象win,并将所述状态栏函数setTranslucentStatus()中的对象on设置为false;将所述状态栏管理器对象mTintManager中的函数mTintManager.setStatusBarTintEnabled(false)修改为mTintManager.setStatusBarTintEnabled(true)。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包括这些改动和变型在内。
Claims (7)
1.一种设置全屏的方法,所述方法应用于移动终端,其特征在于,包括:
接收用户发送的第一指令,所述第一指令用于指示所述移动终端全屏显示;
响应于所述第一指令,通过调用函数getSDK()获取***的软件开发工具包SDK的版本信息,所述函数getSDK()的返回值Build.VERSION.SDK_INT为整数型;
判断所述返回值Build.VERSION.SDK_INT是否大于预设版本的值;
若所述返回值Build.VERSION.SDK_INT大于所述预设版本的值,则确定所述移动终端的***的版本晚于所述预设版本;
通过调用全屏函数将所述移动终端全屏显示,并将所述移动终端的***状态栏设置为全透明;
通过调用全屏函数将所述移动终端全屏显示,并将所述移动终端的***状态栏设置为全透明之前,所述方法还包括:
定义所述全屏函数setFullScreen();
定义状态栏函数setTranslucentStatus(),和状态栏管理器对象mTintManager,所述状态栏函数用于设置所述状态栏的透明度,所述状态栏函数为私有类型的静态函数,所述状态栏函数包括window类型的对象win和布尔boolean类型的对象on,所述状态栏管理器对象mTintManager用于设置所述状态栏在全屏状态时的装填信息;
所述定义所述全屏函数setFullScreen()包括:
定义屏幕辅助类,所述屏幕辅助类为公有类型的类;
在所述屏幕辅助类中设置所述全屏函数setFullScreen(),所述全屏函数为公有类型的静态函数,所述全屏函数setFullScreen()包括数据类型为布尔boolean的设置参数,所述设置参数为true时,表示设置为全屏状态;所述设置参数为false时,表示设置为非全屏状态。
2.根据权利要求1所述的方法,其特征在于,所述定义状态栏函数setTranslucentStatus()包括:
通过调用函数win.getAttributes()获取所述对象win的属性信息,所述函数win.getAttributes()的返回值为WindowManager.LayoutParams类型的对象winParams;
通过调用函数WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS获取到所述对象winParams中的FLAG_TRANSLUCENT_STATUS当前的标签状态信息bits,所述FLAG_TRANSLUCENT_STATUS用于指示将所述状态栏设置为透明,当所述对象on==true时,所述bits的值为1;当所述on==false时,所述bits的值为0;
通过调用函数win.setAttributes(winParams)将所述对象winParams的属性设置到所述对象win中。
3.根据权利要求2所述的方法,其特征在于,所述并将所述移动终端的***状态栏设置为全透明包括:
通过调用函数getWindow()获取到所述状态栏函数setTranslucentStatus()中的对象win,并将所述状态栏函数setTranslucentStatus()中的对象on设置为true;
对所述状态栏管理器对象mTintManager进行初始化处理;
通过调用所述状态栏管理器对象mTintManager中的函数mTintManager.setStatusBarTintEnabled(false)将所述状态栏设置为全屏状态栏;
通过调用所述状态栏管理器对象mTintManager中的函数mTintManager.setTintColor(getResources().getColor(R.colortransparent))将所述全屏状态栏的文字背景设置为透明颜色。
4.根据权利要求3所述的方法,其特征在于,通过调用全屏函数将所述移动终端全屏显示,并将所述移动终端的***状态栏设置为全透明之后,所述方法还包括:
接收所述用户发送的第二指令,所述第二指令用于指示所述移动终端退出全屏显示;
响应于所述第二指令,通过调用函数getWindow()获取到所述状态栏函数setTranslucentStatus()中的对象win,并将所述状态栏函数setTranslucentStatus()中的对象on设置为false;
将所述状态栏管理器对象mTintManager中的函数mTintManager.setStatusBarTintEnabled(false)修改为mTintManager.setStatusBarTintEnabled(true)。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
若所述返回值Build.VERSION.SDK_INT是否小于所述预设版本的值,则确定所述移动终端的***的版本早于所述预设版本;
通过可扩展标记语言XML将所述移动终端将全屏显示,其中,所述移动终端的***状态栏为非透明状态。
6.一种移动终端,其特征在于,包括:
收发单元,用于接收用户发送的第一指令,所述第一指令用于指示所述移动终端全屏显示;
获取单元,用于响应于所述第一指令,通过调用函数getSDK()获取***的软件开发工具包SDK的版本信息,所述函数getSDK()的返回值Build.VERSION.SDK_INT为整数型;
判断单元,用于判断所述返回值Build.VERSION.SDK_INT是否大于预设版本的值;
确定单元,用于若所述返回值Build.VERSION.SDK_INT大于所述预设版本的值,则确定所述移动终端的***的版本晚于所述预设版本;
显示单元,用于通过调用全屏函数将所述移动终端全屏显示,并将所述移动终端的***状态栏设置为全透明;
所述移动终端还执行以下步骤:
定义所述全屏函数setFullScreen();
定义状态栏函数setTranslucentStatus(),和状态栏管理器对象mTintManager,所述状态栏函数用于设置所述状态栏的透明度,所述状态栏函数为私有类型的静态函数,所述状态栏函数包括window类型的对象win和布尔boolean类型的对象on,所述状态栏管理器对象mTintManager用于设置所述状态栏在全屏状态时的装填信息;
所述定义所述全屏函数setFullScreen()包括:
定义屏幕辅助类,所述屏幕辅助类为公有类型的类;
在所述屏幕辅助类中设置所述全屏函数setFullScreen(),所述全屏函数为公有类型的静态函数,所述全屏函数setFullScreen()包括数据类型为布尔boolean的设置参数,所述设置参数为true时,表示设置为全屏状态;所述设置参数为false时,表示设置为非全屏状态。
7.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-5任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910242292.2A CN110109663B (zh) | 2019-03-28 | 2019-03-28 | 一种设置全屏的方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910242292.2A CN110109663B (zh) | 2019-03-28 | 2019-03-28 | 一种设置全屏的方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110109663A CN110109663A (zh) | 2019-08-09 |
CN110109663B true CN110109663B (zh) | 2024-03-29 |
Family
ID=67484723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910242292.2A Active CN110109663B (zh) | 2019-03-28 | 2019-03-28 | 一种设置全屏的方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110109663B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105867730A (zh) * | 2016-03-24 | 2016-08-17 | 广东欧珀移动通信有限公司 | 状态栏的显示方法及装置 |
CN106445269A (zh) * | 2015-08-05 | 2017-02-22 | 腾讯科技(深圳)有限公司 | 移动终端的状态栏显示方法及移动终端 |
CN106648779A (zh) * | 2016-12-26 | 2017-05-10 | 竞技世界(北京)网络技术有限公司 | 一种智能终端悬浮窗权限设置方法 |
CN107329758A (zh) * | 2017-06-30 | 2017-11-07 | 武汉斗鱼网络科技有限公司 | 页面全屏设置方法、装置及用户终端 |
CN108132740A (zh) * | 2017-12-26 | 2018-06-08 | 深圳豪客互联网有限公司 | 一种全屏判断方法及*** |
CN108376094A (zh) * | 2018-02-26 | 2018-08-07 | 平安普惠企业管理有限公司 | 通知消息显示方法、装置、计算机设备和存储介质 |
CN108958873A (zh) * | 2018-07-11 | 2018-12-07 | 广州优视网络科技有限公司 | 状态栏沉浸式效果的配置方法、装置、介质和计算机设备 |
CN109218817A (zh) * | 2017-06-29 | 2019-01-15 | 武汉斗鱼网络科技有限公司 | 一种显示虚拟礼物提示消息的方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9310834B2 (en) * | 2011-06-30 | 2016-04-12 | Z124 | Full screen mode |
CN103473082A (zh) * | 2012-06-08 | 2013-12-25 | 腾讯科技(深圳)有限公司 | 一种启动WebApp的方法及装置 |
-
2019
- 2019-03-28 CN CN201910242292.2A patent/CN110109663B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106445269A (zh) * | 2015-08-05 | 2017-02-22 | 腾讯科技(深圳)有限公司 | 移动终端的状态栏显示方法及移动终端 |
CN105867730A (zh) * | 2016-03-24 | 2016-08-17 | 广东欧珀移动通信有限公司 | 状态栏的显示方法及装置 |
CN106648779A (zh) * | 2016-12-26 | 2017-05-10 | 竞技世界(北京)网络技术有限公司 | 一种智能终端悬浮窗权限设置方法 |
CN109218817A (zh) * | 2017-06-29 | 2019-01-15 | 武汉斗鱼网络科技有限公司 | 一种显示虚拟礼物提示消息的方法和装置 |
CN107329758A (zh) * | 2017-06-30 | 2017-11-07 | 武汉斗鱼网络科技有限公司 | 页面全屏设置方法、装置及用户终端 |
CN108132740A (zh) * | 2017-12-26 | 2018-06-08 | 深圳豪客互联网有限公司 | 一种全屏判断方法及*** |
CN108376094A (zh) * | 2018-02-26 | 2018-08-07 | 平安普惠企业管理有限公司 | 通知消息显示方法、装置、计算机设备和存储介质 |
CN108958873A (zh) * | 2018-07-11 | 2018-12-07 | 广州优视网络科技有限公司 | 状态栏沉浸式效果的配置方法、装置、介质和计算机设备 |
Non-Patent Citations (3)
Title |
---|
Android 沉浸式状态栏;张亚楠;《https://www.cnblogs.com/huihuizhang/p/6503476.html》;20170305;全文第1-3页 * |
Android开源库之沉浸式通知栏的简单实现(SystemBarTintManager);HLQ_Struggle;《https://blog.csdn.net/u012400885/article/details/50845044》;20160310;全文第1-11页 * |
HLQ_Struggle.Android开源库之沉浸式通知栏的简单实现(SystemBarTintManager).《https://blog.csdn.net/u012400885/article/details/50845044》.2016,全文第1-11页. * |
Also Published As
Publication number | Publication date |
---|---|
CN110109663A (zh) | 2019-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109408685B (zh) | 思维导图展示方法和装置 | |
CN109460233B (zh) | 页面的原生界面显示更新方法、装置、终端设备及介质 | |
US11868605B2 (en) | Application bar display method and electronic device | |
EP2871560B1 (en) | Image processing method and apparatus | |
CN111026392B (zh) | 一种引导页面生成方法、装置及电子设备 | |
US20150220496A1 (en) | Dynamic sprite based theme switching | |
US20130044123A1 (en) | User-specified image colorization for application user interface | |
CN108304234B (zh) | 一种页面展示方法及装置 | |
WO2017107851A1 (zh) | 一种桌面应用组件发布、更新方法及装置 | |
US20150365299A1 (en) | Lucidity in network mapping with many connections | |
CN109710259B (zh) | 一种数据处理方法、装置及存储介质 | |
CN109725970B (zh) | 应用客户端窗口展示的方法、装置及电子设备 | |
US10795633B2 (en) | Desktop sharing method and mobile terminal | |
US20190080017A1 (en) | Method, system, and device that invokes a web engine | |
US20160321449A1 (en) | Extension Interaction with Applications | |
US20170169594A1 (en) | Method and electronic device for implementing video recommendation | |
KR20200104899A (ko) | 디지털 컴포넌트 배경 렌더링 | |
US20170185422A1 (en) | Method and system for generating and controlling composite user interface control | |
US20230385363A1 (en) | Web site preview generation based on web site type | |
EP3407186B1 (en) | Interface refresh synchronization method and apparatus, terminal, and storage medium | |
US8549493B2 (en) | Defining a MIDlet region space | |
CN114168853A (zh) | 一种数据可视化展示方法、装置、介质及电子设备 | |
CN108021366B (zh) | 界面动画实现方法、装置、电子设备、存储介质 | |
CN107621951B (zh) | 一种视图层级优化的方法及装置 | |
CN107402756B (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 |