这篇文章给大家介绍Android应用中怎么动态显示与隐藏状态栏,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
<强>什么是沉浸式? 强>
先来分析一下叫错的原因吧,之所以很多人会叫错,是因为根本就不了解沉浸式是什么意思,然后就人云亦云跟着叫了。那么沉浸式到底是什么意思呢?
根据百度百科上的定义,沉浸式就是要给用户提供完全沉浸的体验,使用户有一种置身于虚拟世界之中的感觉。
比如说现在大热的VR就是主打的沉浸式体验。
那么对应到Android操作系统上面,怎样才算是沉浸式体验呢?这个可能在大多数情况下都是用不到的,不过在玩游戏或者看电影的时候就非常重要了。因为游戏或者影视类的应用都希望能让用户完全沉浸在其中,享受它们提供的娱乐内容,但如果这个时候在屏幕的上方还显示一个系统状态栏的话,可能就会让用户分分钟产生跳戏的感觉。
那么我们来看一下比较好的游戏都是怎么实现的,比如说海岛奇兵:
& lt;使用 xmlns: android=癶ttp://schemas.android.com/apk/res/android" android: layout_width=癿atch_parent" android: layout_height=癿atch_parent"比; & lt; ImageView android: layout_width=癿atch_parent" android: layout_height=癿atch_parent" android: src=https://www.yisu.com/zixun/癅drawable/bg” android: scaleType=" centerCrop "/>
这里将ImageView的宽和高都设置成match_parent,让图片充满屏幕。现在运行一下程序,效果如下图所示。
公共类MainActivity延伸AppCompatActivity {
@Override
保护无效alt=" Android应用中怎么动态显示与隐藏状态栏”>,
这样看上去就有点沉浸式效果的模样了。
虽说这才是正统的沉浸式含义,但有些朋友可能想实现的就是饿了么那样的状态栏效果,而不是直接把整个系统状态栏给隐藏掉,那么又该如何实现呢?
其实也很简单,只需要借助另外一种UI国旗就可以了,如下所示:
super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); 如果(Build.VERSION。SDK_INT祝辞=21){ .getDecorView视图decorView=getWindow () (); int选项=View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE; decorView.setSystemUiVisibility(选项); getWindow () .setStatusBarColor (Color.TRANSPARENT); } ActionBar ActionBar=getSupportActionBar (); actionBar.hide ();Android应用中怎么动态显示与隐藏状态栏