Android, как скрыть строку состояния, не скрывая строку заголовка - PullRequest
1 голос
/ 07 августа 2011

В моем приложении я работаю с холстом. Я рисую на холсте. Я поставил холст, как белый. Когда мое приложение открывается, холст виден вместе со строкой состояния выше. Но я хочу, чтобы мой холст занимал весь экран. означает, что строка состояния уведомления должна исчезнуть, когда я запускаю это приложение, но не строку заголовка (bcz я использую некоторую настраиваемую строку заголовка) Как я могу это сделать?

Используя приведенный ниже код, я дал собственный заголовок,

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title);

Теперь я пытаюсь скрыть строку состояния, используя приведенный ниже код в активности-

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

и в AndroidManifest.xml

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

Но это показывает силу закрытия. Дайте мне способ, как это сделать?

Ответы [ 3 ]

3 голосов
/ 03 июня 2013

Достаточно удалить строку

 requestWindowFeature(Window.FEATURE_NO_TITLE);

Но если вы хотите отобразить в полноэкранном режиме (без панели действий), напишите тоже

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


  setContentView(R.layout.activity_location_eb);
1 голос
/ 07 августа 2011

Вы не можете использовать Window.FEATURE_CUSTOM_TITLE после установки Theme.NoTitleBar. Достаточно использовать только эту тему. Не устанавливайте все эти флаги в коде.

РЕДАКТИРОВАТЬ : Кажется, я неправильно понял ваш вопрос. Я внимательно прочитал его и теперь вижу, что вы спрашиваете об Android 2.x и его панели уведомлений. Ваш onCreate() метод должен выглядеть следующим образом:

public void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

    setContentView(R.layout.name);

    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
}

Вы не должны устанавливать Theme.NoTitleBar или Theme.NoTitleBar.Fullscreen для этого действия. Просто используйте значение по умолчанию Theme или вообще не указывайте тему.

0 голосов
/ 19 октября 2015

Я расскажу вам, как справиться со строкой заголовка и панелью системных уведомлений по отдельности и отлично.Используйте один или оба в соответствии с вашими потребностями.

1. Не применяйте темы к Упражнению через XML.

2. Теперь перейдите к коррекцииФайл Java и добавьте эти строки внутри onCreate () .. после super.onCreate () ..

Part.a.удалить только заголовок

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

Part.b.для удаления панели системных уведомлений

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

Не забудьте следовать обычным

setContentView(R.layout.activity_layout_name);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...