J'ai un comportement étrange dont je ne peux pas identifier la source.
J'ai mon application avec le classique
requestWindowFeature(Window.FEATURE_NO_TITLE);
pour supprimer la barre de titre / d'état.
Je crée ensuite une boîte de dialogue pour permettre à l'utilisateur de saisir des informations (nom, etc.)
Avec un clavier physique, pas de problème mais quand j'utilise le clavier virtuel j'ai un comportement étrange:
chaque fois que j'appuie sur une touche du clavier virtuel, la barre de titre / d'état réapparaît, poussant toute la disposition du clavier, puis disparaît à nouveau (tout comme l'animation du moment où je lance l'application)
voici un code:
dialog = new Dialog(context);
dialog.setContentView(R.layout.logindialog);
dialog.setTitle("Login:");
WindowManager.LayoutParams a = dialog.getWindow().getAttributes();
// dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
a.dimAmount = 0;
dialog.getWindow().setAttributes(a);
dialog.setCancelable(true);
dialog.getWindow().setLayout(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);
puis
dialog.show();
j'ai essayé
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
mais cela plante mon application.
voici le xml
<TextView android:id="@+id/LoginText"
android:gravity="fill"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Login:">
</TextView>
<EditText android:id="@+id/LoginEdit"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="jason"
android:layout_width="200sp"/>
<TextView android:id="@+id/PasswordText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Password:">
</TextView>
<EditText android:id="@+id/PasswordEdit"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="welcome"
android:layout_width="200sp"
android:password="true"/>
<LinearLayout
android:id="@+id/test2"
android:gravity="center_horizontal"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button android:id="@+id/LoginButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="Login" />
<Button android:id="@+id/CreateButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="Create" />
<Button android:id="@+id/CancelLogin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="Cancel" />
</LinearLayout>/>
Réponses:
utilisation,
la source
getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);
intérieuronCreateView
.dialog.supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
créer un nouveau style dans styles.xml
puis ajoutez ceci à votre manifeste:
la source
Toutes les réponses ci-dessus ne fonctionnent pas pour moi pour AppCompatDialog
Si vous utilisez AppCompatDialog, essayez ceci
Remarque importante: définissez ceci avant d'appeler setContentView.
la source
créez votre XML qui est affiché dans la boîte de dialogue ici c'est activity_no_title_dialog
la source
Vous pouvez également définir le thème dans le fichier manifeste Android pour ne pas afficher la barre de titre.
Vous définissez simplement le thème
android:theme="@android:style/Theme.Light.NoTitleBar"
dans l'activité où vous ne voulez pas afficher la barre de titreExemple:-
la source
si vous utilisez une vue personnalisée, rappelez-vous de demander la fonction de fenêtre avant d'ajouter une vue de contenu comme celle-ci
la source
utilisez le code ci-dessous avant de définir le contenu: -
Remarque: - le code ci - dessus doit être utilisé ci-dessus
dialog.setContentView(R.layout.custom_dialog);
En XML, utilisez un thème
aussi styles.xml:
Puis:
la source
Je suis un novice d'Android et je suis tombé sur cette question en essayant de me débarrasser d'une barre de titre.
J'utilise une activité et je l'affiche sous forme de boîte de dialogue. Je fouinais avec des thèmes et suis tombé sur un peu de thème par défaut utile.
Voici le code de mon
AndroidManifest.xml
que j'utilisais lorsque la barre de titre était affichée:Voici le changement qui m'a donné le résultat souhaité:
Comme je l'ai dit, je suis encore nouveau sur Android, donc cela peut avoir des effets secondaires indésirables, mais cela semble m'avoir donné le résultat que je souhaitais, à savoir simplement supprimer la barre de titre de la boîte de dialogue.
la source
J'utilise la variante suivante:
Activité de ma boîte de dialogue personnalisée:
activity_alert_dialogue.xml:
Manifeste:
Style:
la source
Avec la variante suivante, je n'ai aucune réaction:
Alors, j'essaye d'utiliser ensuite:
Cette variante fonctionne très bien.
la source
Cela a fonctionné pour moi.
la source
Vous pouvez essayer cette simple bibliothèque contextuelle de dialogue Android . Il est très simple à utiliser sur votre activité.
Lorsque le bouton d'envoi est cliqué, essayez de suivre le code après avoir inclus la lib ci-dessus dans votre code
Ajoutez une ligne dans votre note et vous êtes prêt à partir
la source
dialog1.requestWindowFeature (Window.FEATURE_NO_TITLE);
la source