J'ai une activité qui a pour thème:
Android:theme="@Android:style/Theme.Dialog"
Cependant, il y a une barre de titre dans la boîte de dialogue d'activité qui apparaît, qui utilise le peu d'espace disponible dont je dispose. Comment puis-je le supprimer?
Essayez de faire requestWindowFeature(Window.FEATURE_NO_TITLE);
dans onCreate
. Cela devra être fait immédiatement après avoir appelé super.onCreate
et juste avant setContentView
.
Pour ceux qui utilisent AppCompatActivity
, les réponses ci-dessus peuvent ne pas fonctionner.
Essayez ceci
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
immédiatement avant setContentView(R.layout.MyDialogActivity);
Vous pouvez définir votre propre thème:
<style name="NoTitleDialog" parent="@Android:style/Theme.Dialog">
<item name="Android:windowNoTitle">true</item>
</style>
(Astuce du chapeau à @Rehan) Si vous utilisez la bibliothèque de compatibilité, vous devez choisir un thème parent AppCompat
et laisser le Android:
préfixe. Par exemple:
<style name="NoTitleDialog" parent="@style/Theme.AppCompat.Dialog">
<item name="windowNoTitle">true</item>
</style>
Si vous utilisez AppCompatActivity
dans lequel vous êtes obligé d'utiliser Theme.AppCompat.xxx
pour tout, vous pouvez supprimer le titre de la boîte de dialogue ou la barre d'actions dans styles.xml
en utilisant ceci:
<style name="Theme.MyDialog" parent="Theme.AppCompat.Light.Dialog">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
</style>
Remarquez l'utilisation de name="windowActionBar"
, au lieu de name="Android:windowActionBar"
.
Si vous utilisez AppCompatActivity requestWindowFeature (Window.FEATURE_NO_TITLE) ne fonctionne pas.
pour cela, vous pouvez créer un thème personnalisé dans values / style.xml comme ci-dessous:
<style name="NoTitleDialog" parent="Theme.AppCompat.Dialog.Alert">
<item name="windowNoTitle">true</item>
</style>
veuillez noter que le nom de l'élément: "windowNoTitle" et non le nom de l'élément: "Android: windowNoTitle"
Dans menifest.xml, appliquez ce thème personnalisé comme
<activity Android:name=".activity.YourActivity"
Android:theme="@style/NoTitleDialog"/>
ou vous pouvez utiliser getSupportActionBar (). hide () pour masquer par programme la barre d'actions.
Celui-ci a fonctionné pour moi pour 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>
pour les dialogues, vous pouvez le faire comme:
Dialog dialog = new Dialog(context);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
Celui-ci a fonctionné pour moi.
J'ai pu désactiver le titre
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>
Cela fonctionne pour moi, que cela aide aussi quelqu'un:
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"/>