web-dev-qa-db-fra.com

Utilisation d'un thème de dialogue basé sur les matériaux avec AppCompat

J'ai une activité dans mon manifeste que je stylisais avec un thème de dialogue. Je ne trouve pas comment le remplacer dans la bibliothèque AppCompat.

  <activity
            Android:name=".LoginActivity"
            Android:theme="@Android:styles/Theme.Holo.Dialog" 
            Android:configChanges="orientation|screenSize|keyboardHidden"
            Android:label="Login" >

Existe-t-il un équivalent matériel?

21
TheLettuceMaster

Il n'y a pas encore de thème basé sur le matériel pour une boîte de dialogue dans AppCompat, voir ici

Will appcompat automatically theme dialogs to look like the Lollipop version?

Réponse

Not yet, but it's on the todo list.

Mise à jour:

Dans la version 22.1 du Support Library vous pouvez maintenant obtenir le style de dialogue des matériaux en utilisant AppCompatDialog

24
tyczj

code Java

    AlertDialog.Builder builder =
                    new AlertDialog.Builder(SecondActivity.this, R.style.AppCompatAlertDialogStyle);
            builder.setTitle("SCRUM");
            builder.setMessage("In the SCRUM methodology a sprint is the basic unit of development. Each sprint is preceded by a planning meeting, where the tasks for the sprint are identified and an estimated commitment for the sprint goal is made, and followed by a review or retrospective meeting where the progress is reviewed and lessons for the next sprint are identified. During each sprint, the team creates finished portions of a product.....");
            builder.setPositiveButton("OK", null);//second parameter used for onclicklistener
            builder.setNegativeButton("Cancel", null);
            builder.show();

tilisez ce thème

  <style name="AppCompatAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert">
    <item name="colorAccent">#FFCC00</item>
    <item name="Android:textColorPrimary">#FFFFFF</item>
    <item name="Android:background">#5fa3d0</item>
</style>

Boîte de dialogue d'alerte d'importation de support v7

import Android.support.v7.app.AlertDialog;

Sortie comme ça,

enter image description here

58
Ranjith Kumar

Utilisez la dernière bibliothèque Appcompat

compile 'com.Android.support:appcompat-v7:23.2.1'// or any version greater than 22.1

et dans Manifest utiliser le thème suivant

Android:theme="@style/Theme.AppCompat.Light.Dialog"
9
Saleem Khan

Cela devrait fonctionner pour vous: https://github.com/afollestad/material-dialogs

Je l'ai utilisé pour construire la boîte de dialogue dans un DialogFragment, avec des styles personnalisés appliqués. Fonctionne très bien.

0
benhylau