11
votes

Hiérarchie de style dans Android - Quelle est l'ordre d'importance?

J'ai une application Android sur laquelle je travaille avec un thème personnalisé appliqué dans le manifeste Android sur l'activité principale elle-même. Cette activité crée une liste de réception, qui a le style qui lui est appliqué.

Si je crée une mise en page personnalisée pour cette listeView, y compris un fichier XML distinct pour les rangées elles-mêmes et que j'applique le style directement à ces mises en page, ce style écrase-t-il le style général de l'application? J'essaie de comprendre la hiérarchie des événements en ce qui concerne la façon dont le style et le thème fonctionnent.

La façon dont je suppose que cela fonctionne dans mon exemple est la suivante: Appliquer le style de ligne, référencé par la mise en page de ligne XML> Appliquer le style de liste globaleView, référencé par ListView Layout XML> Appliquer le style du thème personnalisé, référencé par style XML référencé. par Android Manifest

suis-je raison? Ou suis-je en train de m'approcher mal. (Juste pour les confusions, par ">", je veux dire a une plus grande importance que)


2 commentaires

Je suis après la même question. Avec mes expériences initiales, cela semble aller de la manière opposée, ce qui est très étrange. Serait génial si quelqu'un peut confirmer.


Cela pourrait aider: développeur.android.com/guide/topics/ui/ themes.html # héritanc e


3 Réponses :


0
votes

J'espère que je comprends votre question ici ...

Les styles que vous définissez dans styles.xml écrasera toujours les styles provenant du thème actuellement utilisé par Android.

mais cela ne fonctionne que pour les attributs que vous écrasez.

Si vous laissez un attribut intacte, Android fournira le style pour cela, et parfois cela vous morde dans la crosse :)

Ce système est le meilleur décrit comme ceci: TextView nécessite un exemple d'attribut xxx

android regardera d'abord dans la mise en page d'origine. Sinon trouvé, il examinera vos styles personnalisés. Sinon trouvé, il examinera les styles Android.

J'espère que cela aide.


0 commentaires

0
votes

Les thèmes standard ont des lignes commees qui définissent le style ListView: xxx

dans votre propre thème, vous pouvez faire un xxx

quelque chose Cela n'est pas défini dans le style ListView (propre ou par défaut) sera ce qui est défini dans le thème si vous l'avez défini là-bas.


0 commentaires

1
votes

Si vous avez spécifié les mêmes attributs de plusieurs places, la liste ci-dessous détermine les attributs ultime appliqués. La liste est commandée à partir de la plus haute priorité au plus bas:

  1. Application de style de caractère ou de niveau de paragraphe via Text Capls aux classes dérivées TextView
  2. Application des attributs Programmatiquement
  3. appliquer des attributs individuels directement à une vue
  4. Appliquer un style à une vue
  5. Style par défaut
  6. Application d'un thème à une collection de vues, une activité ou toute votre application
  7. Application de certains styles spécifiques à la vue, telles que la définition d'une textappearance sur un TextView

0 commentaires