Android 隐藏通知栏

Android 隐藏通知栏,android,Android,任何人都知道如何禁用/隐藏顶部的通知栏,在android中显示电池和其他东西。 任何帮助都将不胜感激 编辑:还请添加如何为更高版本的android隐藏ActionBar+NotificationBar。您可以在AndroidManifest.xml中使用主题: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().requestFeatur

任何人都知道如何禁用/隐藏顶部的通知栏,在android中显示电池和其他东西。 任何帮助都将不胜感激


编辑:还请添加如何为更高版本的android隐藏ActionBar+NotificationBar。

您可以在AndroidManifest.xml中使用主题:

public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    getWindow().requestFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
View decorView = getWindow().getDecorView();    
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
或者将AppTheme的父级更改为@android:style/Theme.NoTitleBar.Fullscreen,如下所示

<style name="AppTheme" parent="Theme.NoTitleBar.Fullscreen">
</style>
或者使用以下代码段:

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);
    }
}

上面的答案也隐藏了操作栏。 如果只想隐藏通知栏,请使用以下代码:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

请注意将其放在setContentView()之前。

成功地实现了@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中,以消除导航栏

 <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已被删除:)

您可以将其用于4.1或更高版本

View decorView = getWindow().getDecorView();    
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);

可以在onCreate()方法中执行以下操作:

View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
ActionBar actionBar = getActionBar();
actionBar.hide();

另一个简单的选择是在主题上添加
true
,您将应用于不需要通知栏的活动

就这样

<style name="AppTheme.Splash">
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowBackground">@drawable/background_splash</item>
</style>

真的
@可绘制/背景\u飞溅

像charm一样工作

这个答案适用于喜欢极简简化单行代码的android开发人员。如果只想隐藏通知栏,请使用以下代码:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

在所需活动的on create()函数中,请小心将其放在setContentView()之前。class

您确定您的用户希望您这样做吗?@Martin:我甚至愿意为此付费。前两个答案也是隐藏ActionBar。如果您只想隐藏通知栏,请参阅我的答案。java代码不会为我隐藏通知栏。不过,这个主题效果很好。谢谢Martin,两种方法都很好。你不需要要求功能名称。设置全屏标志足以隐藏通知栏。因此,您仍然可以使用操作栏并隐藏通知栏。如果您不打算也隐藏操作栏,请查看以下答案:它隐藏了状态栏,但我仍然可以看到主颜色为深色。@SrikarReddy尝试删除xml布局文件中的安卓:fitsystemwindows=“true”,您正在膨胀到活动中。对我来说,这很有帮助。你的wellcome@Shahzainalitis是我找到的最好的方式。:)