Ich habe eine Aktivität mit folgendem Thema:
android:theme="@android:style/Theme.Dialog"
Es gibt jedoch eine Titelleiste im angezeigten Aktivitätsdialog, die den wenigen verfügbaren Platz verbraucht, den ich habe. Wie kann ich es entfernen?
Ich habe eine Aktivität mit folgendem Thema:
android:theme="@android:style/Theme.Dialog"
Es gibt jedoch eine Titelleiste im angezeigten Aktivitätsdialog, die den wenigen verfügbaren Platz verbraucht, den ich habe. Wie kann ich es entfernen?
Femi
Versuchen Sie es zu tun requestWindowFeature(Window.FEATURE_NO_TITLE);
in onCreate
. Dies muss sofort nach dem Anruf erfolgen super.onCreate
und kurz davor setContentView
.
Hast du das mal mit 2.2 probiert? Ich bekomme ein Caused by: android.util.AndroidRuntimeException: You cannot combine custom titles with other title features
Ausnahme, aber vielleicht mache ich etwas anderes falsch.
– Eleni
3. Juni 2012 um 10:55 Uhr
Sie verwenden wahrscheinlich eine andere Fenstertitelfunktion im Code oder verwenden ein Design, das andere Dinge mit dem Titel macht.
– Femi
7. Juni 2012 um 1:52 Uhr
das wird nicht funktionieren AppCompactActivity
. Sie sollten die Antwort @zackygaurav hinzufügen, damit der Benutzer, der die AppCompatActivity
bekommt die richtigen Informationen.
– Moinkhan
16. Juli 2016 um 11:42 Uhr
@Moinkhan, also wie würde es für ‘AppCompactActivity’ funktionieren?
– Yousuf Sohail
4. Februar 2019 um 10:00 Uhr
Für diejenigen, die verwenden AppCompatActivity
die obigen Antworten funktionieren möglicherweise nicht.
Versuche dies
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
unmittelbar bevor setContentView(R.layout.MyDialogActivity);
Genius! Vielen Dank!
– Murphybro2
12. Januar 2016 um 13:34 Uhr
Oder hinzufügen <item name="windowNoTitle">true</item>
zu Ihrem Stil dh ohne die Android Präfix
– Reha
29. September 2016 um 12:12 Uhr
Nur noch eins: Nicht verwenden ConstraintLayout
an der Wurzel Ihres Layouts oder Ihre Aktivität wird nicht auf dem Bildschirm angezeigt.
– Lieferwagen
7. August 2018 um 17:53 Uhr
Ted Hopp
Sie können Ihr eigenes Thema definieren:
<style name="NoTitleDialog" parent="@android:style/Theme.Dialog">
<item name="android:windowNoTitle">true</item>
</style>
(Spitze des Hutes an @Rehan) Wenn Sie die Kompatibilitätsbibliothek verwenden, sollten Sie eine auswählen AppCompat
übergeordnetes Thema und lassen Sie das weg android:
Präfix. Zum Beispiel:
<style name="NoTitleDialog" parent="@style/Theme.AppCompat.Dialog">
<item name="windowNoTitle">true</item>
</style>
Danke dafür. Es ist wahrscheinlich ein besserer Ansatz, aber am Ende habe ich requestWindowFeature verwendet. Danke trotzdem 🙂
– Schatten
12. Juni 2011 um 22:22 Uhr
Nur hinzufügen: Verwenden Sie es ohne Android Präfix für AppCompatActivity
dh hinzufügen <item name="windowNoTitle">true</item>
zu deinem Stil.
– Reha
29. September 2016 um 12:10 Uhr
Ich habe in vielen Quellen ein gutes Konzept gefunden, aber keiner von ihnen spricht über AppCompat und Nicht-Appcompat, danke
– Somwang Souksavatd
18. März 2019 um 5:36 Uhr
Wenn Sie verwenden AppCompatActivity
in denen Sie gezwungen sind, zu verwenden Theme.AppCompat.xxx
Für alles können Sie den Dialogtitel oder die Aktionsleiste entfernen styles.xml
mit diesem:
<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"
Anstatt von name="android:windowActionBar"
.
Wenn Sie AppCompatActivity verwenden, funktioniert requestWindowFeature(Window.FEATURE_NO_TITLE) nicht.
Dazu können Sie wie folgt ein benutzerdefiniertes Design in values/style.xml 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” ist.
Wenden Sie dieses benutzerdefinierte Design in menifest.xml als an
<activity android:name=".activity.YourActivity"
android:theme="@style/NoTitleDialog"/>
oder Sie können verwenden getSupportActionBar().hide() um die Aktionsleiste programmgesteuert auszublenden.
Ajji
Dieser hat bei mir für appcompat funktioniert.
<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>
Javid Sattar
Dieser hat bei mir funktioniert.
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>
Ich bin mir nicht sicher was du meinst. Kannst du davon einen Screenshot posten?
– Lukas Knuth
12. Juni 2011 um 22:09 Uhr