Cambiar el color de la pista
Quiero usar un conmutador y cambiar su color de pista. Así que en mi opinión nada espectacular.
Mi diseño de conmutador:
- Android: muestra la lista de contactos con el mismo número de teléfono
- Coordenadas de la pantalla de inicio de Android y xy
- Cómo actualizar un Widget dinámicamente (No esperar 30 min para que onUpdate se llame)?
- Establecer switchStyle - obtener error recurso no encontrado - ¿por qué?
- Copia de seguridad y restaurar widgets pantalla de inicio y fondo de pantalla en vivo
<Switch android:id="@+id/Switch1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:track="@color/gray" android:textOn="@string/on" android:textOff="@string/off" android:text="@string/musiconoff" />
Y mi color "gris":
<color name="gray">#666666</color>
Mi problema es que el interruptor se muestra como un conmutador de 1 píxel. Es sólo una línea pequeña. Si elimino la línea "color", el conmutador es correcto (sin gris por supuesto).
¿Dónde está mi culpa?
- ¿Cómo usar una tipografía personalizada en un widget?
- Android widget ¿cómo puede obtener el tiempo en hora y minuto de esto?
- ¿Cambia el color de fondo en android destruir el aspecto del widget?
- Uso de GestureOverlayView o algo similar dentro de un Widget de Android
- Widget - No se puede instanciar el receptor
- Widget y aplicación en un apk
- ¿Cómo crear una imagen de fondo nítida para 1x1 widget Android?
- Android Widget onReceive no puede llamar a la clase de servicio?
Nada funcionó para mí excepto esto
if (isChecked) { mSwtPrivacyView.getTrackDrawable().setColorFilter(ContextCompat.getColor(this, R.color.switch_track_checked_true_color), PorterDuff.Mode.SRC_IN); } else { mSwtPrivacyView.getTrackDrawable().setColorFilter(ContextCompat.getColor(this, R.color.switch_track_checked_false_color), PorterDuff.Mode.SRC_IN); }
Es posible que desee construir un dibujable con su color gris, como y colocarlo en la carpeta res / drawable:
Track.xml:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <size android:width="48dp" android:height="22dp" /> <solid android:color="#666666" /> <stroke android:width="2dp" android:color="#666666" android:dashWidth="2dp" android:dashGap="1dp" /> </shape>
Agregue cualquier tamaño que desee tener su trazo (si es necesario) y añada este dibujable como la propiedad de pista.
¿Ayuda esto?
Pruebe esto para cambiar el color de la pista del interruptor
android:track="@null" android:background="@drawable/img_setings_toggle_on"
android:track="@android:color/darker_gray"
Intente esto en su código