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:

<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?

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

  • ¿El widget Android deja de funcionar después de un tiempo?
  • Diálogo selector de números
  • ¿Cómo implementar paneles expandibles en Android?
  • No se puede enviar la intención pendiente del widget, SendIntentException
  • Actualizar ViewFlipper's Child View cuando ViewFlipper es como Widget
  • ¿Usando un ToggleButton en un widget?
  • Cómo agregar widgets múltiples en una aplicación?
  • Buscar ID de widget de la pantalla de inicio
  • Tamaño incorrecto de la cuadrícula del widget
  • Actualizar Android Widget de la actividad
  • Android RemoteViews, ¿cómo configurar ScaleType de un ImageView dentro de un widget?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.