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 :

TextAppearance ne fonctionne pas


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 242
    Par défaut TextAppearance ne fonctionne pas
    Bonjour,

    J'ai le TextView suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <TextView android:id="@+id/annonces_preferences"
                android:textColor="#35bbed" 
                android:textStyle="bold"
                android:layout_width="0dp" 
                android:layout_weight="0.90"
                android:layout_height="60dp"
                android:layout_marginLeft="10dp"
                android:text="@string/app_name"
                android:layout_marginBottom="5dp"
                android:textAppearance="?android:attr/textAppearanceSmall"
                />
    ... et la ligne android:textAppearance="?android:attr/textAppearanceSmall" ne change pas l'affichage du texte (quelque soit la valeur choisie pour l'attribut).

    Faut-il activer une fonction quelque part pour que cela fonctionne ?

    A+

  2. #2
    Expert confirmé

    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
    Billets dans le blog
    3
    Par défaut
    Non... ca marche très bien chez moi...

    Si tu remplaces par "?android:attr/textAppearanceMedium" ça ne change rien ?

    Tu as modifié ton thème ?

  3. #3
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 242
    Par défaut
    Citation Envoyé par nicroman Voir le message
    Non... ca marche très bien chez moi...

    Si tu remplaces par "?android:attr/textAppearanceMedium" ça ne change rien ?

    Tu as modifié ton thème ?
    Et bien non, cela ne change rien et pourtant cette commande fonctionnait auparavant.

    Pourquoi parles-tu de modification du thème ? Où cela se situe-t-il ? As-tu aussi une autre idée ?

    A+

  4. #4
    Expert confirmé

    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
    Billets dans le blog
    3
    Par défaut
    Le "theme" définit les attributs...
    Les attributs sont utilisés dans les resources....

    Par exemple:

    Le theme "Black" va définir l'attribut "textAppearanceSmall" sur "Text.Appearance.Small.Black"
    Le theme "White" va définir l'attribut "textAppearanceSmall" sur "Text.Appearance.Small.White"

    Dans les resources on ne fait qu'utiliser le style "?xxxx:attr/textAppearanceSmall" et le theme va définir selon qu'on utilise le style "Text.Appearance.Small.Black" ou "Text.Appearance.Small.White". C'est très utile pour définir soit même plusieurs themes à ses applications (on peut rajouter facilement ses propres attributs).

    Si, par malheur, le theme ne définit plus "textAppearanceSmall" => bam y a plus rien qui change quand on utilise ce style...

    Le theme est choisi dans le manifest (pour l'application et/ou pour chaque activity), programmatiquement (ThemedContext) , ou encore dans l'éditeur d'UI (dans les barres en haut).

  5. #5
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 242
    Par défaut
    Citation Envoyé par nicroman Voir le message
    Le "theme" définit les attributs...
    Les attributs sont utilisés dans les resources....

    Par exemple:

    Le theme "Black" va définir l'attribut "textAppearanceSmall" sur "Text.Appearance.Small.Black"
    Le theme "White" va définir l'attribut "textAppearanceSmall" sur "Text.Appearance.Small.White"

    Dans les resources on ne fait qu'utiliser le style "?xxxx:attr/textAppearanceSmall" et le theme va définir selon qu'on utilise le style "Text.Appearance.Small.Black" ou "Text.Appearance.Small.White". C'est très utile pour définir soit même plusieurs themes à ses applications (on peut rajouter facilement ses propres attributs).

    Si, par malheur, le theme ne définit plus "textAppearanceSmall" => bam y a plus rien qui change quand on utilise ce style...

    Le theme est choisi dans le manifest (pour l'application et/ou pour chaque activity), programmatiquement (ThemedContext) , ou encore dans l'éditeur d'UI (dans les barres en haut).
    Merci pour ta réponse qui mentionne les styles perso mais comment faire pour récupérer des styles pré-définis par android ?

    Au fait : +1

    A+

  6. #6
    Expert confirmé

    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
    Billets dans le blog
    3
    Par défaut
    Un theme est un "style" comme un autre, qui déinit une foultitude d'attributs...

    En général on utilise un style parent, par exemple:
    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
     
    <resources>
     
        <color name="red">#be3a18</color>
        <color name="yellow">#fefed0</color>
        <color name="light_grey">#e6eced</color>
        <color name="black">#3a3b3c</color>
        <color name="dark_grey">#b9c5c9</color>
        <color name="white">#ffffff</color>
     
        <style name="MonTheme" parent="@android:style/Theme.Light">
            <item name="android:colorBackground">@color/light_grey</item>        
            <item name="android:colorBackgroundCacheHint">@color/light_grey</item>
     
            <item name="android:buttonStyle">@style/Widget.Button</item>
        </style> 
    </resources>
    Va défini "MonTheme" comme theme d'application (selectionable dans l'éditeur d'UI de Eclipse). Tous les boutons auront par défaut le style "Widget.Button".

    Et dans les 'styles':
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        <style name="Widget" parent="@android:style/Widget"/>
     
        <style name="Widget.Button" parent="@android:style/Widget.Button">
            <item name="android:background">@drawable/yellow_button</item>
            <item name="android:textColor">@color/red</item>
            <item name="android:minWidth">80dp</item>
        </style>
    Et bim... tous les boutons rajoutés auront comme fond "yellow_button" et comme couleur de texte du rouge, avec une largeur minimale de 80dp !
    Et bien sur, ca marche aussi avec les boutons générés par Android !

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 27/01/2004, 11h14
  2. [FP]Writeln ne fonctionne pas !
    Par néo333 dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 01/11/2003, 23h47
  3. UNION qui ne fonctionne pas
    Par r-zo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/07/2003, 10h04
  4. Un Hint sur un PopupMenu ne fonctionne pas !!??
    Par momox dans le forum C++Builder
    Réponses: 6
    Dernier message: 26/05/2003, 16h48
  5. ca ne fonctionne pas (generateur auto-incrémentant)
    Par tripper.dim dans le forum SQL
    Réponses: 7
    Dernier message: 26/11/2002, 00h10

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