Активность Android в диалоге, но без заголовка

У меня есть действие, которое имеет следующий набор как тему:

android:theme="@android:style/Theme.Dialog" 

Однако в появившемся диалоге действий есть панель заголовка, которая использует небольшое доступное пространство, которое у меня есть. Как его удалить?

Попробуйте выполнить requestWindowFeature(Window.FEATURE_NO_TITLE); В onCreate . Это нужно сделать сразу после вызова super.onCreate и непосредственно перед setContentView .

Вы можете определить свою собственную тему:

 <style name="NoTitleDialog" parent="android:style/Theme.Dialog"> <item name="android:windowNoTitle">true</item> </style> 

(Совет шляпы к @Rehan). Если вы используете библиотеку совместимости, вы должны выбрать родительскую тему AppCompat и оставить префикс android: Например:

 <style name="NoTitleDialog" parent="style/Theme.AppCompat.Dialog"> <item name="windowNoTitle">true</item> </style> 

Для тех, кто использует AppCompatActivity , приведенные выше ответы могут не работать.

Попробуй это

supportRequestWindowFeature(Window.FEATURE_NO_TITLE);

Непосредственно перед setContentView(R.layout.MyDialogActivity);

Если вы используете AppCompatActivity в котором вы вынуждены использовать Theme.AppCompat.xxx для всего, вы можете удалить заголовок диалога или панель действий в styles.xml используя это:

 <style name="Theme.MyDialog" parent="Theme.AppCompat.Light.Dialog"> <item name="windowNoTitle">true</item> <item name="windowActionBar">false</item> </style> 

Обратите внимание на использование name="windowActionBar" вместо name="android:windowActionBar" .

Это работало для меня за appcompat.

 <style name="DialogTheme" parent="Theme.AppCompat.Light.Dialog"> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> </style> 

Если вы используете AppCompatActivity requestWindowFeature (Window.FEATURE_NO_TITLE) не работает.

Для этого вы можете создать пользовательскую тему в значениях / style.xml, как показано ниже:

  <style name="NoTitleDialog" parent="Theme.AppCompat.Dialog.Alert"> <item name="windowNoTitle">true</item> </style> 

Обратите внимание, что название элемента: «windowNoTitle» not item name: «android: windowNoTitle»

В menifest.xml примените эту настраиваемую тему как

 <activity android:name=".activity.YourActivity" android:theme="@style/NoTitleDialog"/> 

Или вы можете использовать getSupportActionBar (). Hide (), чтобы программно скрыть панель действий.

Для диалогов вы можете сделать это так:

 Dialog dialog = new Dialog(context); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 

Это работает для меня, может это тоже помогает:

style.xml

 <style name="NoTitleActivityDialog" parent="Theme.AppCompat.Light.Dialog.Alert"> <item name="windowNoTitle">true</item> </style> 

AndroidManifest.xml

  <activity android:name=".DialogActivity" android:theme="@style/NoTitleActivityDialog"/> 
Intereting Posts
Настройка пунктов меню PopupMenu программно Ошибка обновления iventory (запрос цен на предметы). (Ответ: 6: ошибка) Android: Почему длинный клик также вызывает обычный щелчок? Использование шаблона Spring Rest вызывает EOFException Как получить имя хоста или имя устройства устройств, подключенных к моей локальной сети через Android? Ошибка тестирования тестовой программы для Android Studio: пустой тестовый комплект Включение / выключение мобильных данных (GPRS) с использованием кода Совместное использование классов Java между веб-сервисом и клиентской стороной Как уменьшить размер приложения для Android-андроида Лучший кросс-платформенный инструмент разработки для iPhone и Android Android – другое поведение в выпуске, подписанном выпуском? Разница между onPause и onStop () Как получить сверхпрокрутку в стиле iPhone в Android 2.3 (Gingerbread)? Локализованные активы на Android Android For loop