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 :

Style non appliqué


Sujet :

Android

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2002
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 54
    Points : 36
    Points
    36
    Par défaut Style non appliqué
    Bonjour,

    le theme par defaut de mon application est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    android:theme="@android:style/Theme.Holo.Light"
    Malheureusement lorsque j'ajoute dynamiquement des élements (textview, editview) à mon activité, le style ne leur est pas appliqué.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    EditText constanteValue = new EditText(this);
    linearLayout.addView(linearLayout1);
    ...
    la methode setappearance ne semble pas fonctionner.

    J'aimerais appliquer le style suivant par programmation comme on le ferait dans le fichier xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    style="@android:style/TextAppearance.Material.Widget.EditText"

    Quelqu'un peut il m'aider ?

    Merci
    Sebastien

  2. #2
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Le theme n'est pas appliqué aux views initialisées "à la main".
    La tringlerie nécessaire à l'application de *toutes* (et y en a un paquet) les variables du thème est faite par le layout-inflater au moment de la lecture du XML.

    Je ne suis même pas certain qu'il soit possible d'appliquer le thème programmatiquement.


    Dans tous les cas, la création de views dynamique est souvent une erreur de conception / developpement.

    Dans la plupart des cas c'est juste une manière détournée de ne pas utiliser ListView.
    Ou une mauvaise utilisation des table-layout.

    En général on préfère utiliser ce genre de code (qui lui applique le style):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    View addedView = layoutInflater.inflate(R.layout.mon_layout_de_view_meme_si_y_a_quun_seul_edittext);
    linearLayout.addView(addedView);
    A noter que cela permet de modifier visuellement les paramètres de la view sans taper dans le code.
    Android utilise cela pour plein de choses (regarder la définition de simple_list_item par exemple qui ne contient qu'un TextView !)
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

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

Discussions similaires

  1. Feuille de styles non appliquée
    Par Zebulon777 dans le forum Mise en page CSS
    Réponses: 14
    Dernier message: 05/11/2014, 10h22
  2. [AJAX] Feuille de style non appliquée
    Par teddol dans le forum AJAX
    Réponses: 3
    Dernier message: 21/02/2012, 22h08
  3. Appliquer un style "néon" à l'objet Paint
    Par ZouBi dans le forum Android
    Réponses: 2
    Dernier message: 11/04/2011, 11h43
  4. [css] Feuille de style non prise en compte
    Par Neuromancien2 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 29/06/2005, 11h49
  5. feuille de style non reconnue
    Par zorba49 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 15/05/2005, 22h27

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