Ich habe eine Aktivität mit folgendem Thema:
android:theme="@android:style/Theme.Dialog"
Es erscheint jedoch eine Titelleiste im Aktivitätsdialog, die den wenig verfügbaren Speicherplatz belegt. Wie kann ich es entfernen?
Ich habe eine Aktivität mit folgendem Thema:
android:theme="@android:style/Theme.Dialog"
Es erscheint jedoch eine Titelleiste im Aktivitätsdialog, die den wenig verfügbaren Speicherplatz belegt. Wie kann ich es entfernen?
Antworten:
Versuchen Sie , requestWindowFeature(Window.FEATURE_NO_TITLE);
in onCreate
. Dies muss unmittelbar nach dem Anruf super.onCreate
und kurz zuvor erfolgen setContentView
.
Caused by: android.util.AndroidRuntimeException: You cannot combine custom titles with other title features
Ausnahme, aber vielleicht mache ich etwas anderes falsch.
AppCompactActivity
. Sie sollten die Antwort @zackygaurav hinzufügen, damit der Benutzer, der die verwendet AppCompatActivity
, die richtigen Informationen erhält.
Für diejenigen, die verwenden AppCompatActivity
, funktionieren die obigen Antworten möglicherweise nicht.
Versuche dies
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
unmittelbar bevor setContentView(R.layout.MyDialogActivity);
<item name="windowNoTitle">true</item>
Ihrem Stil hinzu, dh ohne das Android- Präfix
ConstraintLayout
im Stammverzeichnis Ihres Layouts verwenden, da Ihre Aktivität sonst nicht auf dem Bildschirm angezeigt wird.
Sie können Ihr eigenes Thema definieren:
<style name="NoTitleDialog" parent="@android:style/Theme.Dialog">
<item name="android:windowNoTitle">true</item>
</style>
(Tipp des Hutes an @Rehan) Wenn Sie die Kompatibilitätsbibliothek verwenden, sollten Sie ein AppCompat
übergeordnetes Thema auswählen und das android:
Präfix weglassen . Zum Beispiel:
<style name="NoTitleDialog" parent="@style/Theme.AppCompat.Dialog">
<item name="windowNoTitle">true</item>
</style>
AppCompatActivity
um <item name="windowNoTitle">true</item>
es Ihrem Stil hinzuzufügen .
Wenn Sie verwenden, AppCompatActivity
in dem Sie Theme.AppCompat.xxx
für alles verwendet werden müssen, können Sie den Dialogtitel oder die Aktionsleiste entfernen, styles.xml
indem Sie Folgendes verwenden:
<style name="Theme.MyDialog" parent="Theme.AppCompat.Light.Dialog">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
</style>
Beachten Sie die Verwendung von name="windowActionBar"
anstelle von name="android:windowActionBar"
.
Wenn Sie AppCompatActivity verwenden, funktioniert requestWindowFeature (Window.FEATURE_NO_TITLE) nicht.
Dazu können Sie ein benutzerdefiniertes Thema in values / style.xml wie folgt erstellen:
<style name="NoTitleDialog" parent="Theme.AppCompat.Dialog.Alert">
<item name="windowNoTitle">true</item>
</style>
Bitte beachten Sie, dass der Artikelname: "windowNoTitle" nicht der Artikelname: "android: windowNoTitle"
Wenden Sie in menifest.xml dieses benutzerdefinierte Thema als an
<activity android:name=".activity.YourActivity"
android:theme="@style/NoTitleDialog"/>
Oder Sie können getSupportActionBar (). hide () verwenden , um die Aktionsleiste programmgesteuert auszublenden.
Dieser arbeitete für mich für 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>
Dieser hat für mich gearbeitet.
Ich konnte den Titel deaktivieren
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>
Für Dialoge können Sie Folgendes tun:
Dialog dialog = new Dialog(context);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
Das funktioniert bei mir, möge es auch jemandem helfen:
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"/>