IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Customiser AlertDialog via les styles


Sujet :

Android

  1. #1
    Membre du Club
    Homme Profil pro
    Developpeur Android
    Inscrit en
    Février 2015
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Developpeur Android
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2015
    Messages : 104
    Points : 68
    Points
    68
    Par défaut Customiser AlertDialog via les styles
    Bonjour,

    Je cherche un tuto ou une doc à la fois complète et claire pour customiser mes alertDialog de mon appli.
    J'ai trouvé pas mal de lien mais, j'ai du mal à obtenir ce que je souhaite.

    Pour faire simple, j'aimerai que sur des versions d'OS tel que 2.3 ou 4.1 j'obtienne un AlertDialog identique à ceci :
    Nom : Default_Light.jpg
Affichages : 1018
Taille : 8,1 Ko

    Et non pas celui-ci
    Nom : Holo_Light.jpg
Affichages : 1004
Taille : 9,1 Ko


    ou bien
    Nom : traditional.jpg
Affichages : 1004
Taille : 10,3 Ko

    Alors, j'ai fait des trucs de ce genre :
    AndroidManifest.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    android:theme="@style/MyTheme.Base"
    Themes.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
     <style name="MyTheme" parent="MyTheme.Base">
        </style>
     
        <style name="MyTheme.Base" parent="Theme.AppCompat.Light">
            <item name="windowNoTitle">true</item>
            <item name="windowActionBar">false</item>
            <item name="colorPrimary">@color/colorPrimary</item>
            <!--<item name="colorPrimaryDark" tools:targetApi="23">@color/colorPrimaryDark</item>-->
            <item name="colorAccent">@color/colorAccent</item>
            <item name="android:textColorPrimary">@color/vert</item>
            <item name="android:windowBackground">@color/white</item>
     
     
            <!--Style Bouton-->
            <!--<item name="android:buttonStyle">@style/StyleWidget.Button.principale</item>-->
     
            <!--Style texte-->
            <item name="android:textViewStyle">@style/MyTextStyle</item>
     
            <!--Style pour les alertDialog-->
            <item name="android:alertDialogTheme">@style/AlertDialogCustom</item>
        </style>


    Styles.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <!--Style pour les alertDialog-->
        <style name="AlertDialogCustom" parent="Theme.AppCompat.Light.Dialog.Alert">
            <item name="android:textColor">@color/G1</item>
            <item name="android:textColorPrimary">@color/G1</item>
            <item name="android:textColorTertiary">@color/G1</item>
            <item name="android:buttonBarButtonStyle">@style/MyDialogButton</item>
            <item name="android:background">#FFFFFFFF</item>
        </style>
     
        <style name="MyDialogButton" parent="@style/Widget.AppCompat.Button.Borderless">
            <item name="android:textColor">@color/C1</item>
            <item name="android:background">@color/windowBackground</item>
        </style>
    et sur un 4.3 j'obtiens ceci :
    Nom : Sur_un_4.3.jpg
Affichages : 1021
Taille : 23,4 Ko

    Et sur un 5.1 ceci -ce que je souhaiterai d'ailleurs (Avec les boutons un peut plus rapprochés peut-être).
    Nom : sur_un_5.1.jpg
Affichages : 1018
Taille : 16,6 Ko


    C'est un peu un caste tête les styles quand même
    De plus, je ne souhaite pas faire ceci de manière programmatiquement.


    Merci pour votre aide.
    Bomatch

  2. #2
    Membre du Club
    Homme Profil pro
    Developpeur Android
    Inscrit en
    Février 2015
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Developpeur Android
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2015
    Messages : 104
    Points : 68
    Points
    68
    Par défaut
    Bonjour,

    personne pour mon pb ?

    Je cherche mais c'est très mal documenté (en tout cas à ce niveau de "stylisation").
    Peut-être devrais-je faire un Dialog Customisé mais il y a bcp d'AlertDialog dans l'appli et je ne souhaite pas passer sur chacune.
    C'est pour cela que j'avais pensé aux styles.

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Le style de ton alertDialog dérive du thème système , il est donc normal que sur du 4.x tu ai un theme Holo et non material comme sur les 5.x .

    Le plus simple étant de faire une alertdialog custom pour gérer les style simplement.

    Tu peux aussi passer par une des nombreuses lib disponible . Par exemple : https://github.com/afollestad/material-dialogs
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre du Club
    Homme Profil pro
    Developpeur Android
    Inscrit en
    Février 2015
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Developpeur Android
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2015
    Messages : 104
    Points : 68
    Points
    68
    Par défaut
    Oui, c'est une chose que j'avais bien cru comprendre, mais il n'est pas possible de surcharger le thème de mon alertdialog ?

    Je sais qu'on peut avoir des boutons borderless, choisir la couleur, le font etc ... (puisque j'y parviens) et donc je pensai que c'était assez puissant via le theme/style pour customiser directement et totalement mon composant.

    EN attendant, je vais jeter un oeil sur ta librarie.

    Merci à toi

    Bomatch

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 11
    Points : 13
    Points
    13
    Par défaut
    Ton problème est plus du style tu as genre le menu démarrer de Windows XP ne te convient pas, tu aimerais obtenir celui de Windows 10 par exemple. Pour l'obtenir, tu es obligé de mettre à jour ton système.

    C'est aussi cela avec les AlertDialog. Le système l'a arrangé pour qu'il ait une certaine forme. Un style ne pourra pas modifier la racine même de sa forme. Il viendra juste modifier les entêtes, les bordures, les boutons, etc.

    Une solution serait peut être de créer un template (layout) pour ton AlertDialog. Et lorsque tu le déclareras, tu lui affectes ce template là. Tu pourras le customiser à ta guise

  6. #6
    Membre du Club
    Homme Profil pro
    Developpeur Android
    Inscrit en
    Février 2015
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Developpeur Android
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2015
    Messages : 104
    Points : 68
    Points
    68
    Par défaut
    Merci pour ta réponse,

    Je pense que je vais resté avec l'AlertDialog du système.

    C'est sur un Dialog qu'il faudrait que je fasse pour le custom layout.

    Merci quand même, cela m'a permit d'y voir plus clair.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Masquer les borders d'une cellule via un style
    Par Fuggerbit dans le forum BIRT
    Réponses: 1
    Dernier message: 02/02/2010, 12h38
  2. Accès à l'évènement "OnAuthorize" via les hooks
    Par mchicoix dans le forum XMLRAD
    Réponses: 8
    Dernier message: 09/03/2005, 22h52
  3. Réponses: 3
    Dernier message: 13/10/2004, 10h43
  4. envoie de fichiers via les formulaires
    Par fabogranqi dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 10/10/2004, 21h34
  5. Comment utiliser les styles XP avec Dev-C++?
    Par abraxas dans le forum Dev-C++
    Réponses: 3
    Dernier message: 05/10/2003, 19h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo