Tengo un componente personalizado que quiero dar los mismos colores que un TextView. Es decir, no quiero copiar sus colores, quiero obtener los colores de fondo y primer plano predeterminados, si existe tal concepto en android.Cómo obtener los colores predeterminados en Android
[Editar]
El siguiente parece producir el color del texto de mi TextView. ¿Pero es solo suerte? No es intuitivo para mí que un TextView predeterminado usaría android.R.attr.textColorSecondary
? ¿Y por qué el resolveAttribute
no devuelve el color directamente?
TypedValue tv = new TypedValue();
getContext().getTheme().resolveAttribute(android.R.attr.textColorSecondary, tv, true);
Color holyColor = getResources().getColor(tv.resourceId);
[Editar]
me encontré con el código fuente de Vista de Texto en android.git.kernel.org, pero parecía contener una gran cantidad de referrences a com.android.internal.R
, que no creo que debo usar en mi propio código. Actualmente estoy buscando algún tipo de evidencia de que TextView
usa android.R.attr.textColorSecondary
.
[Editar]
me encontré con algún tipo de evidencia en developer.android.com, en styles.xml que TextView
utiliza android.R.attr.textAppearanceSmall
. textAppearanceSmall
está documentado por defecto en "color de texto secundario".
Creo que tuve suerte después de todo, pero todavía no me gusta ese pequeño fragmento de código mio.
Su observación también está respaldada por la documentación aquí: [http://developer.android.com/guide/topics/resources/accessing-resources.html#ReferencesToThemeAttributes](http://developer.android.com/ guide/topics/resources/accessing-resources.html # ReferencesToThemeAttributes "Referencia de atributos de estilo") – fr1550n