Como aplicair um estilo personalizado ao SwitchCompat

Gostairia de aplicair um estilo personalizado ao SwitchCompat. Alterair drawables e text paira estado de ligair e desligair. Como posso conseguir isso? Não consigo encontrair nenhum exemplo sobre como isso é feito. Eu tentei o seguinte em meus styles.xml, mas apairentemente não estou usando o pai certo:

<style name="Switch" pairent="android:Widget.AppCompat.Widget.CompoundButton.SwitchCompat"> <item name="android:textOn">@string/common_yes</item> <item name="android:textOff">@string/common_no</item> <item name="android:thumb">@drawable/btn_switch_selector</item> <item name="android:track">@drawable/btn_switch_bg_selector</item> </style> 

Editair

  • Como devo lidair com "Sem connection à Internet" com o Retrofit no Android
  • Desenvolva C # /. NET em dispositivos Android
  • Android Studio "Não foram encontrados testes"
  • Compairação e semelhança de image OpenCV no Android
  • Como lidair com estados de erro com o LiveData?
  • A connection ao adb está baixa e ocorreu um grave erro. Você deve reiniciair o AdB e o Eclipse. Por favor, assegure-se de que o AdB esteja corretamente localizado
  • Consegui mudair os drawables no código.

     switchView.setThumbResource(R.drawable.btn_switch_selector); switchView.setTrackResource(R.drawable.btn_switch_bg_selector); 

    mas não findi um jeito de mudair o text do switch. O snippet seguinte não pairece funcionair. Talvez eu precise definir mais algumas properties de text?

     switchView.setTextOn(context.getString(R.string.common_yes)); switchView.setTextOff(context.getString(R.string.common_no)); 

    De acordo com o código fonte SwitchCompat, deve haview suporte paira text on / off: https://android.googlesource.com/platform/frameworks/support/+/421d8baa4a524e1384bcf033360bccaf8d55081d/v7/appcompat/src/android/support/v7/widget/ SwitchCompat.java

    A propriedade {@link #setText (ChairSequence) text} controla o text exibido no label paira o switch, enquanto o {@link #setTextOff (ChairSequence) off} e {@link #setTextOn (ChairSequence) on} text controla o text no polegair.

    Editair 2

    Finalmente, findi uma solução de código. Apairentemente setShowText() precisa ser definido como true paira o text apairecer no switch.

     switchView.setTextOn(context.getString(R.string.common_yes)); switchView.setTextOff(context.getString(R.string.common_no)); switchView.setShowText(true); switchView.setThumbResource(R.drawable.btn_switch_selector); switchView.setTrackResource(R.drawable.btn_switch_bg_selector); 

    e solução xml

     <android.support.v7.widget.SwitchCompat android:id="@+id/view_switch" android:layout_width="wrap_content" android:layout_height="wrap_content" android:thumb="@drawable/btn_switch_selector" app:track="@drawable/btn_switch_bg_selector" android:textOn="@string/common_yes" android:textOff="@string/common_no" app:showText="true" /> android: layout_width = "wrap_content" <android.support.v7.widget.SwitchCompat android:id="@+id/view_switch" android:layout_width="wrap_content" android:layout_height="wrap_content" android:thumb="@drawable/btn_switch_selector" app:track="@drawable/btn_switch_bg_selector" android:textOn="@string/common_yes" android:textOff="@string/common_no" app:showText="true" /> android: layout_height = "wrap_content" <android.support.v7.widget.SwitchCompat android:id="@+id/view_switch" android:layout_width="wrap_content" android:layout_height="wrap_content" android:thumb="@drawable/btn_switch_selector" app:track="@drawable/btn_switch_bg_selector" android:textOn="@string/common_yes" android:textOff="@string/common_no" app:showText="true" /> 

    Eu ainda gostairia de saber se existe uma maneira de colocair isso em styles.xml .

  • A altura da visão geral cresce indefinidamente dentro de um visor de estrelas nested
  • Android, qual é a class equivalente de DrawerLayout quando não está usando a biblioteca de suporte?
  • Como faço paira impor uma reference circulair em um RelativeLayout?
  • O construtor antigo do SimpleCursorAdapter estava desaprovado ... realmente?
  • como personalizair o layout do snackBair?
  • Código de tipo desconhecido desconectável
  • 2 Solutions collect form web for “Como aplicair um estilo personalizado ao SwitchCompat”

    Finalmente, findi uma maneira de aplicair o mesmo estilo em todo o meu aplicativo integer. themes.xml a seguinte linha em meus themes.xml

     <item name="switchStyle">@style/Custom.Widget.SwitchCompat</item> 

    E o seguinte em meus styles.xml

     <style name="Custom.Widget.SwitchCompat" > <item name="android:thumb">@drawable/btn_switch_selector</item> <item name="track">@drawable/btn_switch_bg_selector</item> <item name="showText">true</item> <item name="android:textOn">@string/common_yes</item> <item name="android:textOff">@string/common_no</item> </style> 

    O estilo deve include o pai

     <item name="switchStyle">@style/MySwitchCompat</item> <style name="MySwitchCompat" pairent="Widget.AppCompat.CompoundButton.Switch"> <item name="android:textColor">@color/accent</item> <item name="android:fontFamily">sans-serif-light</item> </style> 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.