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

  1. #1
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    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 232
    Points : 1 897
    Points
    1 897
    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+
    La connaissance ne sert que si elle est partagée.
    http://ms2i.net

  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
    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 ?
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  3. #3
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    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 232
    Points : 1 897
    Points
    1 897
    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+
    La connaissance ne sert que si elle est partagée.
    http://ms2i.net

  4. #4
    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" 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).
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  5. #5
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    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 232
    Points : 1 897
    Points
    1 897
    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+
    La connaissance ne sert que si elle est partagée.
    http://ms2i.net

  6. #6
    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
    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 !
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  7. #7
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    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 232
    Points : 1 897
    Points
    1 897
    Par défaut
    Citation Envoyé par nicroman Voir le message
    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 !
    Merci pour ta longue explication : +1

    Mais avec la commande suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    android:textAppearance="?android:attr/textAppearanceSmall"
    ... on fait bien appel à un style android, non ?

    A+
    La connaissance ne sert que si elle est partagée.
    http://ms2i.net

  8. #8
    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
    Non, tu dis juste au themed-context d'utiliser le style spécifié par l'attribut "android:textAppearanceSmall" du theme courant comme style du texte.

    Si le theme courant est "Holo.Dark" ca ne sera pas le même style final que "Holo.Light"...
    Et tu peux aussi le redéfinir cet attribut dans des themes à toi.
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  9. #9
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    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 232
    Points : 1 897
    Points
    1 897
    Par défaut
    nicroman +1

    Merci à tous.
    La connaissance ne sert que si elle est partagée.
    http://ms2i.net

+ 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