14

Вопрос по android – android: theme = «@ android: style / Theme.NoTitleBar.Fullscreen» работает на уровне приложения, но не на уровне активности. Любая подсказка?

Мне нужно сделать одно из моих занятий под названиемMyNoStatusBarActivity.java полноэкранное действие.

Я добавил в Манифесте:

<activity
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
    android:name=".MyNoStatusBarActivity"
    android:noHistory="true"
    android:label="@string/app_name"
    android:configChanges="touchscreen|keyboard|keyboardHidden|navigation|orientation">
    ...
</activity>

И вonCreate моей деятельности:

@Override
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    requestWindowFeature(Window.FEATURE_NO_TITLE);

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

Делая все это просто скрывает панель TITLE, а не панель STATUS.

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

Помощь будет по достоинству оценена. Thnx!

П.С .: Я в порядке, это поведение больше не доступно в Honeycomb / ICS. Мне это нужно только для 2.2 и 2.3

EDIT

Перепробовал все предложения, упомянутые в других решениях в SO, но пока безуспешно. Тема работает применительно к уровню приложения, но не к уровню активности.

Я использую HTC WildFire-S, Android версии 2.3.5

5 ответов
0

Это исправит вашу проблему

просто измените свой манифест @android: style ... для @ style / ..

<application
    ...
    android:theme="@style/Theme.AppCompat.NoActionBar">
    ...
</application>
29

В вашем манифесте xml на уровне приложения поместите это:

<application
    ...
    android:theme="@android:style/Theme.NoTitleBar" >
</application>

и в упражнении, которое вы хотите сделать на весь экран, поместите это:

<activity

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

Удалите все методы setWindowsFeature или setFlag в onCreate.

извините, но это работает для Android 2.3?

от 

Я так считаю. Я использовал, чтобы проверить это на Android 2.2

от 
1

Это сделает свое дело:

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    requestWindowFeature(Window.FEATURE_NO_TITLE);

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

    setContentView(R.layout.activity_main);
}
6

Я думаю, вам просто нужно взять

android:theme="@android:style/Theme.NoTitleBar.Fullscreen из мэйнфеста, придерживайтесь только кода вызова, он всегда работал для меня. Какое тестовое устройство вы используете?

Также убедитесь, что эти звонки приходятbefore ты звонишьsetContentView(R.layout.xxx) как это

    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.xxx);

Проверьте весь ваш код дляandroid:theme декларации, т.е. манифест и отдельные макеты XML-файлов. звучит так, как будто объявление его на уровне приложения работает (так как оно переопределяет любые последующие объявления темы), но есть что-то, что переопределяет ваш запрос уровня активности.

Попробуйте поискать во всем проекте & quot; android: theme & quot; и удалите все, что вам не нужно на 100%, проверьте это таким образом

это должно работать для Android 2.x и выше

от 

Infact кажется, что верхняя часть действия идет ниже строки состояния. Строка состояния, кажется, имеет какой-то высокий z-индекс и скрывает часть моей полноэкранной активности!

от Vikas Singh

Вы уверены, что в вашем проекте нет других объявлений xml-тем?

от 

Не работает Выключается только заголовок, но остается строка состояния. Я использую HTC WildFire-S, Android версии 2.3.5

от Vikas Singh

Ctrl + F (Mac) "тема" в Manifest.xml: строка не найдена! :(

от Vikas Singh
3

Я положил это в моей деятельности:

requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_splash);

И в моем манифесте я не изменяю, это мое без изменений:

android:theme="@style/AppTheme"

В моей деятельности xml:

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

Похожие вопросы