Ho cercato di trovare le risorse che spiegavano come posso modificare il pulsante di comando nel tema Material Design.
I widget di colorazione sono ora abbastanza semplici con il nuovo appcompat-v7: 21.
Finché si utilizza appcompat-v7: 21, è possibile sostituire tutti i vecchi widget Switch
con i widget SwitchCompat
. Pertanto, nei layout xml, anziché utilizzare il vecchio tag Switch
, utilizzare android.support.v7.widget.SwitchCompat
.
Quindi, nel tuo styles.xml, assicurati che il tema principale della tua app sia un tema Theme.AppCompat
come Theme.AppCompat.Light
.
Infine, la chiave è quello di specificare il proprio valore per i colorAccent
:
<item name="colorAccent">@color/my_fancy_color</item>
Il colore specificato per colorAccent
verrà utilizzata per colorare i widget nella vostra applicazione, come SwitchCompats
, EditTexts
, RadioButtons
, ecc .
Così il vostro styles.xml potrebbe essere simile:
<style name="Theme.MyTheme" parent="Theme.AppCompat.Light">
<!-- colorPrimary is used for the default action bar background -->
<item name="colorPrimary">@color/color_primary</item>
<!-- colorPrimaryDark is used to color the status bar -->
<item name="colorPrimaryDark">@color/color_primary_dark</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>
dove si trovano i drawable che posso utilizzare per creare la mia versione?
non consiglierei alterare direttamente i drawable, ma si trovano in
sdk/platforms/android-21/data/res/drawable-XXXX
ei file sono chiamati
btn_switch_to_off_mtrl_XXXXX.9.png
btn_switch_to_on_mtrl_XXXXX. 9.png
switc h_track_mtrl_alpha.9.png
sì, non c'è un modo diretto per cambiare. È necessario creare drawable se si desidera modificare gli stili di interruttori, pulsanti, ecc ... –
@MurtazaHussain E sai dove posso trovare i drawable usati da Lollipop? – FoY
Stai cercando di modificare lo stile per API 21+ o ne hai bisogno per funzionare con appcompat? – alanv