Ho un componente personalizzato che voglio dare gli stessi colori di un TextView. Cioè, non voglio copiare i suoi colori, voglio ottenere lo sfondo predefinito e i colori di primo piano, se c'è un tale concetto su Android.Come ottenere i colori predefiniti su Android
[Edit]
Il seguente sembra cedere il colore del testo del mio TextView. Ma è solo fortuna? Non è intuitivo per me che un TextView predefinito utilizzi android.R.attr.textColorSecondary
? E perché resolveAttribute
non restituisce direttamente il colore?
TypedValue tv = new TypedValue();
getContext().getTheme().resolveAttribute(android.R.attr.textColorSecondary, tv, true);
Color holyColor = getResources().getColor(tv.resourceId);
[Edit]
ho trovato il codice sorgente di TextView a android.git.kernel.org, ma sembrava contenere un sacco di referrences a com.android.internal.R
, che non credo che dovrei usare nel mio codice. Attualmente sto cercando qualche tipo di prova che TextView
usi android.R.attr.textColorSecondary
.
[Edit]
ho trovato un qualche tipo di prove a developer.android.com, in styles.xml che TextView
utilizza android.R.attr.textAppearanceSmall
. textAppearanceSmall
è documentato come predefinito in "colore testo secondario".
Immagino di essere stato fortunato, dopotutto, ma a me non piace ancora quel piccolo frammento di codice.
L'osservazione è supportata anche dalla documentazione qui: [http://developer.android.com/guide/topics/resources/accessing-resources.html#ReferencesToThemeAttributes](http://developer.android.com/ guida/argomenti/risorse/accessing-resources.html # RiferimentiToThemeAttributes "Riferimenti agli attributi di stile") – fr1550n