para - descargar android 4.0 apk
Cómo cambiar el color del interruptor en Android (3)
Creo que tienes que mirar el tema que estás usando para tu aplicación. Porque el color del interruptor es responsabilidad del tema, afaik. Por lo tanto, te sugiero que eches un vistazo a cómo puedes cambiar la configuración de un tema. O puedes crear un tema personalizado con los nuevos colores.
Estoy creando una aplicación que utiliza Android 4.0. Me pregunto si es posible cambiar el color del texto del texto en un interruptor.
He intentado configurar el color del texto, pero no funciona.
¿Algunas ideas?
¡Gracias por adelantado!
TextView.setTextColor () toma un int que representa el color (por ejemplo, 0xFFF5DC49) no el identificador de recurso del archivo xml. En una actividad, puedes hacer algo como:
textView1.setTextColor(getResources().getColor(R.color.mycolor))
fuera de una actividad necesitarás un contexto, por ejemplo.
textView1.setTextColor(context.getResources().getColor(R.color.mycolor))
Para mas refiera this
Debe usar el atributo android:switchTextAppearance
, por ejemplo:
android:switchTextAppearance="@style/SwitchTextAppearance"
y en estilos:
<style name="SwitchTextAppearance" parent="@android:style/TextAppearance.Holo.Small">
<item name="android:textColor">@color/my_switch_color</item>
</style>
También puedes hacerlo en código, también utilizando los estilos anteriores:
mySwitch.setSwitchTextAppearance(getActivity(), R.style.SwitchTextAppearance);
... y en cuanto a setTextColor
y Switch
: este color se usará si su estilo de cambio de imagen de texto no proporciona un textColor
Puede verificarlo en el código fuente de Switch
en setSwitchTextAppearance
:
ColorStateList colors;
int ts;
colors = appearance.getColorStateList(com.android.internal.R.styleable.
TextAppearance_textColor);
if (colors != null) {
mTextColors = colors;
} else {
// If no color set in TextAppearance, default to the view''s textColor
mTextColors = getTextColors();
}
ts = appearance.getDimensionPixelSize(com.android.internal.R.styleable.
TextAppearance_textSize, 0);
if (ts != 0) {
if (ts != mTextPaint.getTextSize()) {
mTextPaint.setTextSize(ts);
requestLayout();
}
}