【问题标题】:Non-deprecated way to hide status bar on android?在android上隐藏状态栏的不推荐方法?
【发布时间】:2020-09-16 00:23:42
【问题描述】:

我见过两种禁用状态栏的方法。两者都已弃用。

第一个来自documentation

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);

另一个来自here,例如:

requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

在第一种方法中,setSystemUiVisibility 已弃用,而在第二种方法中,WindowManager.LayoutParams.FLAG_FULLSCREEN 已弃用。在android上隐藏状态栏的非弃用/当前方法是什么?我更喜欢一种在整个应用程序中隐藏状态栏的方法,而不仅仅是在一个活动中。

【问题讨论】:

  • 你可以在styles.xml中做到这一点
  • @SandrinJoy 你能给出确切的指示吗?谢谢。
  • 对不起,我以为是动作栏

标签: android


【解决方案1】:

你可以用这个:

FrameLayout frameLayout = findViewById<FrameLayout>(R.id.mainView)
frameLayout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN)

对于新的 android 版本,其中 R.id.mainView 是您的主要布局。 详情请查看:https://proandroiddev.com/exploring-windowinsets-on-android-11-a80cf8fe19be

【讨论】:

  • 谢谢。对于其他阅读本文的人,不推荐使用的方法是 getWindow().setDecorFitsSystemWindows(false),但除非您的 minSDK 是 Android R,否则您不能使用它。
  • @HuzaifaHussain setSystemBarsAppearance 这个怎么样?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-20
  • 2016-05-10
  • 2012-04-01
  • 1970-01-01
  • 2018-03-11
相关资源
最近更新 更多