2010-11-16 45 views
12

J'ai vu des références sur la façon de régler les couleurs du système, mais j'ai besoin de savoir comment vous les obtenez - comment trouvez-vous ce qu'ils sont? Sur le Samsung Galaxy S, par exemple, les onglets, ListView est mis en surbrillance lorsque vous sélectionnez un élément et la ligne de texte Résumé sur l'écran des préférences est entièrement bleue.Comment obtenir les couleurs du système Android

Il existe de nombreuses applications qui imitent ce style et je veux faire la même chose. Évidemment je ne peux pas simplement coder en dur et mettre la couleur au bleu, car d'autres combinés emploient des couleurs différentes. La question est: existe-t-il un moyen de déterminer par programmation la couleur des sélections de ligne de prévisualisation de l'écran de préférence, des onglets ou de ListView, de sorte que vous puissiez ensuite définir cela par rapport à un TextView ailleurs dans votre application?

Comment obtenir les couleurs du système Android?

+0

Il peut effectivement être fait, même si c'est un peu difficile. Voir ma réponse dans ce fil: http://stackoverflow.com/questions/4081946/android-preferences-summary-default-color – Carlos

Répondre

0

Vous pouvez spécifier les couleurs à des éléments dans votre mise en page XML à l'aide de la variable système @android:color:

<TextView android:background="@android:color/white" android:textColor="@android:color/black" /> 
+0

Merci pour votre réponse. C'est ainsi que vous définissez une couleur (à condition de savoir de quoi il s'agit). Je dois d'abord trouver les couleurs du système Android - Comment puis-je faire cela? – Simon

+0

@Simon: J'ai mal compris votre question. Je ne peux pas vous aider avec la réponse à celui-ci. Si j'étais vous, j'essaierais probablement aussi de clarifier la question, car ce n'était pas évident ce que vous recherchiez. – Nailuj

+0

Je vais modifier ma question pour clarifier - mais comme discuté, je ne cherche pas à définir des couleurs, mais à obtenir des couleurs, des thèmes et des styles afin que je puisse rendre mes applications et textviews look "standard". Je pense aux écrans "Préférences" où il y a un "Résumé". Il y a beaucoup d'applications sur mon téléphone qui semblent utiliser cette couleur, mais comment pouvez-vous savoir par programme quelle est cette couleur? – Simon

5

Il y a une réponse à cette question, mais il est sans doute pas celui que vous vouliez entendre. Il n'y a aucun moyen de le faire de manière fiable. La "couleur de sélection" fait en fait partie d'une image de neuf pièces, qui est fournie sur une base spécifique à la plate-forme. Certains utilisent la couleur orange standard, certains (Sens) utilise le vert, et d'autres utilisent le rouge. Avec une liste exhaustive de ceux-ci vous pourriez être en mesure de créer un mappage du matériel à la couleur, mais ce n'est pas très efficace parce que le nouveau matériel sort tout le temps, et certains de ces téléphones permettent de désinstaller sense. La seule chose que vous pouvez faire est de rendre vos boutons cohérents au sein de l'application elle-même, ce qui est une tâche assez difficile en soi. Si vous devez vraiment avoir un élément personnalisé avec une couleur de sélection (ce qui est assez commun), alors mon conseil serait de copier les ressources du bouton de la plate-forme de votre choix (j'aime les ressources sdk par défaut) et ensuite les manuellement dans toute votre application. De cette façon, ils auront toujours la même apparence quelle que soit la plate-forme sur laquelle vous vous trouvez et correspondront donc toujours à vos vues personnalisées. Notez que cela vous obligera à faire plus que simplement des boutons. Dialogues et menus devront également être modifiés, ce qui est possible, mais difficile.

Vraiment c'est une faille dans la façon dont Android a été conçu, et cela nous cause beaucoup de chagrin. J'aimerais avoir une meilleure réponse pour vous, mais je pense que c'est le meilleur que nous ayons.