Подтвердить что ты не робот

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

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

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

Попробуйте

supportRequestWindowFeature(Window.FEATURE_NO_TITLE);

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

Ответ 3

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

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

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

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

Ответ 4

Если вы используете 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".

Ответ 5

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

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

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

обратите внимание, что название элемента: "windowNoTitle" нет имя элемента: "android: windowNoTitle"

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

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

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

Ответ 6

Это работало для меня для 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>

Ответ 7

для диалогов, вы можете сделать это следующим образом:

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

Ответ 8

Это работает для меня, может ли это кому-то помочь:

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"/>

Ответ 9

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

Я смог отключить заголовок

style.xml

<style name="AppDialogScreenTheme" parent="Base.Theme.MaterialComponents.Light.Dialog">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

AndroidManifest.xml

  <activity
        android:name=".MyActivity"
        android:theme="@style/AppDialogScreenTheme">

  </activity>