Скрыть панель уведомлений
Кто-нибудь знает, как отключить/скрыть панель уведомлений наверху, которые показывают батарею и другие вещи в Android.
Любая помощь будет оценена.
РЕДАКТИРОВАТЬ: Также добавьте, как я могу скрыть ActionBar + NotificationBar для более поздних версий Android.
Ответы
Ответ 1
Вы можете использовать тему в своем 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);
}
}
Ответ 2
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
Ответы выше скрывают ActionBar.
Если вы намерены скрывать панель уведомлений только, используйте этот код:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
будьте осторожны, чтобы поместить его перед setContentView().
Ответ 4
@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);
}
}
Ответ 5
Успешно реализована слегка измененная версия предложения @Martin вместе с пользовательской темой, чтобы избавиться от BOTH Status и панели навигации.
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:)
Ответ 6
Вы можете использовать это для версий 4.1 или более поздних версий.
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);