Я хочу скрыть заголовок для некоторых из моих действий. Проблема в том, что я применил стиль ко всем своим действиям, поэтому я не могу просто установить тему на @android:style/Theme.NoTitleBar
.
Использование темы NoTitleBar в качестве родителя для моего стиля приведет к удалению строки заголовка из всех моих действий.
Можно ли где-нибудь установить элемент стиля без заголовка?
Вы можете изменить свои
AndroidManifest.xml
:или используйте,
android:theme="@android:style/Theme.Black.NoTitleBar"
если вам не нужен полноэкранный режим.Примечание. Если вы уже использовали представление по умолчанию, вам, вероятно, также следует изменить родительский класс с
AppCompatActivity
наActivity
.источник
android:theme="@android:style/Theme.Black.NoTitleBar"
вероятно, более полезно, если вы не делаете игруЯ сейчас сделал следующее.
Я объявил стиль, унаследовавший все от моего общего стиля, и затем отключил titleBar.
Теперь я могу установить этот стиль для каждого действия, в котором я хочу скрыть строку заголовка, перезаписывая стиль приложения и наследуя всю остальную информацию о стиле, поэтому в коде стиля нет дублирования.
Чтобы применить стиль к определенному действию, откройте
AndroidManifest.xml
и добавьте следующий атрибут кactivity
тегу;источник
Мне не нравится,
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
потому что строка заголовка появляется на короткое время, а затем исчезает.Мне также не нравится,
android:theme="@android:style/Theme.NoTitleBar"
потому что я потерял все изменения Холо 3.0+, к которым привыкли пользователи новых устройств. Вот и я наткнулся на это решение.В папке res / values создайте файл styles.xml (если он еще не существует). В этом файле поместите следующий код:
Затем создайте res / values-v11 с другим файлом styles.xml (еще раз, возможно, он уже существует). В этом файле поместите следующий код:
И если вы нацеливаетесь на 4.0+, создайте папку res / values-v14 с еще одним файлом styles.xml (да, он уже может быть там). В этом файле поместите следующий код:
Наконец, после создания всех этих файлов откройте файл AndroidManizest.xml, в который вы можете добавить код:
для тега действия, для которого вы не хотите заголовка, или тега приложения, если вы хотите, чтобы он применялся ко всему приложению.
Теперь ваши пользователи получат темы, связанные с версией их устройства, с желаемой раскладкой экрана.
PS Изменение значения на
android:theme="@style/Theme.FullScreen"
будет иметь тот же эффект, но и удалить панель уведомлений.источник
Строка заголовка может быть удалена двумя способами, как указано на странице разработчика Android:
В
manifest.xml
файле:Добавьте следующее,
application
если вы хотите удалить его для всех действий в приложении:Или для конкретной деятельности:
источник
правильный ответ, вероятно, заключается в том, чтобы не расширять ActionbarActivity, а расширять просто Activity
если вы все еще используете активность панели действий, кажется, это работает:
Кажется, это тоже работает:
Я мог бы сделать так, как написал Скотт Биггс. этот вид работ. кроме как тогда нет темы. Я имею в виду фон меню настроек прозрачный:
просто поменяй
в Activity или FragmentActivity
однако я мог бы заставить его выглядеть достаточно хорошо, используя дизайн материала, и не убирать панель действий: https://gist.github.com/shimondoodkin/86e56b3351b704a05e53
это пример дизайна совместимости с дизайном материала.
источник
что работает для меня:
1- в styles.xml:
2- в MainActivity
в манифесте наследуют стиль:
источник
getSupportActionBar().hide();
в onCreate () {} выполнит эту работуЕсли вы используете,
this.requestWindowFeature(Window.FEATURE_NO_TITLE)
пользователь все равно сможет увидеть строку заголовка только на мгновение во время запуска анимации, когда активность начинаетсяonCreate
. Если вы используете,@android:style/Theme.Black.NoTitleBar
как показано ниже, строка заголовка не будет отображаться во время запуска анимации.Приведенный выше пример, очевидно, переопределит существующую тему приложения. Если у вас есть существующая тема, добавьте
<item name="android:windowNoTitle">true</item>
ее.источник
когда я пытался использовать все эти ответы с высоким рейтингом, мое приложение всегда падало. (я думаю, что это как-то связано с "@android: style"?)
Лучшее решение для меня было использовать следующее:
Больше нет заголовка / строки заголовка. Просто поместите его в
<application>...</application>
или в<activity>...</activity>
зависимости от того, хотите ли вы (не) его во всем приложении или просто в конкретной деятельности.источник
Создайте тему, как показано ниже.
источник
Добавить
<item name="android:windowNoTitle">true</item>
внутри AppTheme (styles.xml)
источник
Просто используйте
getActionBar().hide();
в своей основнойonCreate()
метод деятельности .источник
Вам просто нужно изменить
AppTheme
стиль в Style.xml, если вы замените определение изDarkActionBar
в
NoActionBar
AppTheme, определенный в AndroidManifast.xml
источник
Для
AppCompat
меня сработало следующее решение:Добавить новый стиль темы без панели действий в вашем
styles.xml
и установитьparent="Theme.AppCompat.NoActionBar"
.Теперь примените тот же стиль темы к вашей активности на заставке в
androidManifest.xml
Вот результат:
источник
Вы можете использовать этот код в вашем Java-файле
добавьте эту строку, прежде чем установить или загрузить свой вид
источник
В вашем
onCreate
методе используйте следующий фрагмент:источник
Добавьте оба из них для темы, которую вы используете:
источник
<item name="windowActionBar">false</item>
вызывает сбой приложения. может быть, это то, что имел в видуДобавьте этот стиль в свой файл style.xml
После этого укажите имя этого стиля в свой файл androidManifest.xml в виде черепа, в котором вы не хотите видеть заголовок заголовка, как показано ниже.
источник
android:
префикс перед именами в вашем первом блоке кода :)Я использую виджет поддержки панели инструментов v7. Итак, чтобы иметь возможность удалить или скрыть заголовок, нам нужно написать это.
источник
Или, если вы хотите скрыть / показать строку заголовка в любой момент:
источник
В моем случае, если вы используете Android Studio 2.1, а ваша версия SDK для компиляции - 6.0, просто перейдите в файл manifest.xml и измените следующий код:
Вот код:
А вот и снимок (см. Код выделения):
источник
Это решило мою проблему
В манифесте моей деятельности:
В стиле под названием «AppTheme»:
источник
Чтобы скрыть заголовок и панель действий, я сделал это:
В теге активности Манифеста:
В Activity.java перед setContentView:
т.е.
// Удалить строку заголовка
// Удалить панель уведомлений
ПРИМЕЧАНИЕ . Необходимо сохранить эти строки до
setContentView
источник
Первый ответ - амфибол. вот мое объяснение: добавить:
в методе oncreate ().
перед:
(не только перед setContentView), если этого не сделать, вы получите forceclose. +1 этот ответ.
источник
Я нашел две причины, почему эта ошибка может возникнуть.
Один. Флаги окна уже установлены внутри, и
super.onCreate(savedInstanceState);
в этом случае вы можете использовать следующий порядок команд:Два. У вас есть кнопка Back / Up внутри TitleBar, это означает, что текущее действие является иерархическим потомком другого действия, и в этом случае вы можете закомментировать или удалить эту строку кода изнутри
onCreate
метода.источник
Вот так выглядит полный код. Обратите внимание на импорт android.view.Window.
источник
Добавьте theme @ style / Theme.AppCompat.Light.NoActionBar в свою деятельность на AndroidManifest.xml следующим образом.
источник
Если вы делаете то, что говорят пользователи YaW и Doug Paul , вы должны иметь в виду, что функции окна должны быть установлены до вызова setContentView. Если нет, вы получите исключение.
источник
добавить в явный файл,
добавить следующую строку в ваш файл Java,
источник
Я использую Android Xamarin, и это сработало для меня.
источник