任何人都知道如何禁用/隐藏顶部的通知栏,显示电池和Android中的其他东西。 任何帮助将不胜感激。
编辑:还请添加如何为以后的Android版本隐藏ActionBar + NotificationBar。
答案 0 :(得分:76)
您可以在AndroidManifest.xml中使用主题:
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
或将AppTheme的父级更改为@android:style / Theme.NoTitleBar.Fullscreen就像这样
<style name="AppTheme" parent="Theme.NoTitleBar.Fullscreen">
</style>
然后将此主题应用于您希望全屏像
的活动android:theme="@style/AppTheme"
或使用以下代码段:
public class FullScreen
extends android.app.Activity
{
@Override
public void onCreate(android.os.Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
}
}
答案 1 :(得分:24)
上面的答案也隐藏了ActionBar。 如果您打算仅隐藏通知栏,请使用以下代码:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
小心将它放在setContentView()之前。
答案 2 :(得分:21)
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
getWindow().requestFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
答案 3 :(得分:3)
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
}
}
答案 4 :(得分:2)
成功实施了@ Martin建议的略微修改版本以及自定义主题以摆脱状态和导航栏。
public class MyActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//* Hides Notification Bar
getWindow().requestFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_my);
}
顶部用于摆脱状态栏。将以下代码添加到@styles作为资源以杀死NavBar。
<resources> <style name="NoNav" parent="@android:style/Theme.Holo.Light">
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
</style> </resources>
将此文件添加到资源文件后,弹出AndroidManifest.xml并将您的应用程序主题设置为“@ style / NoNav”。
Android UI bloatware被淘汰:)
答案 5 :(得分:1)
您可以将此用于4.1或更高版本。
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
答案 6 :(得分:0)
你可以在onCreate()方法中这样做:
@GetMapping("/orders")
public ResponseEntity getAllOrders(@RequestParam(value = "page", defaultValue = "0", required = false) Integer page,
@RequestParam(value = "size", defaultValue = "30", required = false) Integer size,
@RequestParam(value = "sort", defaultValue = "orderNumber", required = false) String sort) {
return execute(() -> service.getAllOrders(PageRequest.of(page, size, ASC, sort)));
}
答案 7 :(得分:0)
另一个简单的选择是在主题上添加<item name="android:windowFullscreen">true</item>
,将其应用于不需要通知栏的活动...
像这样..
<style name="AppTheme.Splash">
<item name="android:windowFullscreen">true</item>
<item name="android:windowBackground">@drawable/background_splash</item>
</style>
像魅力一样工作
答案 8 :(得分:0)
此答案适用于喜欢简约和简化的单行代码的android开发人员。如果您打算仅隐藏通知栏,请使用以下代码:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
小心将其放在所需活动的on.create()函数中的setContentView()之前。