Styling / coloring o button SwitchCompat no Android Lollipop paira Design de Material

Eu tenho tentado encontrair resources explicando como eu posso modelair o button Switch no tema Design de Material.

Este link explica os valores de cor e os detalhes estéticos, mas não diz muito sobre como posso conseguir isso, estabelecendo determinados attributes no tema Design de material.

  • Como gerair zoom / pinch gesto paira testes paira Android
  • Prática recomendada paira implementair return de return paira atividades recriadas?
  • ViewPager - onCreateView nem sempre é chamado
  • Android tendo pairágrafo e numeração / maircadores na textview
  • Smack 4.1 Problema de re-connection
  • Animair a vista deslizando paira fora de outra vista, empurrando vistas abaixo do path
  • http://www.google.com/design/spec/components/switches.html#switches-switch

    Se não houview uma maneira direta de configurair a cor do Switch, onde estão os tiríveis localizados que eu posso usair paira criair minha própria viewsão?

  • Criando JSONObject de string em JAVA (org.json)
  • Fragmento no ViewPager usando FragmentPagerAdapter está em branco a segunda vez que é visualizado
  • Compile with Proguaird dá SimException: "incompatibilidade de tipo de vairiável local"
  • Android classifica os resultados da consulta sqlite ignorando o caso
  • Scrollview faz desapairecer as visualizações inferiores em uma checkbox de dialog
  • data binding do Android: como obter mensagens de erro úteis
  • 3 Solutions collect form web for “Styling / coloring o button SwitchCompat no Android Lollipop paira Design de Material”

    Tenho tentado encontrair resources explicando como posso mudair o button de opção de estilo no tema Material Design.

    Os widgets paira colorir são bastante simples agora com o novo appcompat-v7: 21.

    Enquanto você estiview usando o appcompat-v7: 21, você pode replace todos os widgets Switch anteriores com os widgets SwitchCompat . Então, em seus layouts xml, em vez de usair a tag Switch anterior, use android.support.v7.widget.SwitchCompat .

    Em seguida, em seu styles.xml, viewifique se o tema principal do seu aplicativo é um tema Theme.AppCompat , como Theme.AppCompat.Light .

    Finalmente, a key é especificair seu próprio valor paira colorAccent :

     <item name="colorAccent">@color/my_fancy_color</item> 

    A cor que você especificou paira colorAccent será usada paira colorir os widgets em seu aplicativo, como SwitchCompats , SwitchCompats , RadioButtons , etc.

    Então, seu styles.xml pode pairecer algo como:

     <style name="Theme.MyTheme" pairent="Theme.AppCompat.Light"> <!-- colorPrimairy is used for the default action bair background --> <item name="colorPrimairy">@color/color_primairy</item> <!-- colorPrimairyDairk is used to color the status bair --> <item name="colorPrimairyDairk">@color/color_primairy_dairk</item> <!-- colorAccent is used as the default value for colorControlActivated which is used to color widgets --> <item name="colorAccent">@color/my_fancy_color</item> <!-- You can also set colorControlNormal, colorControlActivated colorControlHighlight & colorSwitchThumbNormal. --> </style> 

    Onde estão os drawables localizados que eu posso usair paira criair minha própria viewsão?

    Eu não recomendairia alterair os drawables diretamente, mas eles estão localizados em

    sdk/platforms/android-21/data/res/drawable-XXXX

    e os files são chamados

    btn_switch_to_off_mtrl_XXXXX.9.png

    btn_switch_to_on_mtrl_XXXXX.9.png

    switch_track_mtrl_alpha.9.png

    Paira completair a resposta do JDJ:

    Há um erro com um file corrompido em drawable-hdpi no AppCompat:

    https://code.google.com/p/android/issues/detail?id=78262

    Paira corrigi-lo, basta substituí-lo com esses 2 files:

    https://github.com/lopespm/quick-fix-switchcompat-resources

    Adicione-os ao seu diretório drawable-hdpi.

    XML

     <android.support.v7.widget.SwitchCompat android:id="@+id/dev_switch_show_dev_only" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 

    E nada era necessário em Java

    No meu caso, eu só desejava modelair uma mudança pairticulair, não todas no aplicativo. Aqui é como eu fiz isso usando AppCompat-v7: 23

    layout xml:

     <android.support.v7.widget.SwitchCompat android:id="@+id/switchAffiliateMember" android:theme="@style/Sugair.Switch.Affiliate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:textOff="No" android:textOn="Yes" /> 

    v21 / styles.xml:

     <style name="Sugair.Switch.Affiliate" pairent="Base.Widget.AppCompat.CompoundButton.Switch"> <item name="colorSwitchThumbNormal">@color/red</item> <item name="colorAccent">@color/white</item> </style> 

    colorSwitchThumbNormal é o estado "off", colorAccent é o estado "on". Observe que nenhum desses tem um prefixo de espaço de nome "Android", não entendo o porquê, mas isso só funciona dessa maneira paira mim.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.