I am using the android.support.v7.widget.SwitchCompat and i am encountering the following problems
My code
Styles.xml
Note i tried with NO parent and Theme.AppCompat.Light.NoActionBar
<style name="ToggleSwitchStyle" parent="Theme.AppCompat">
<item name="colorControlActivated">@color/emerald</item>
</style>
My SwitchCompat defined in an XML layout
<android.support.v7.widget.SwitchCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:padding="5dp"
android:textOff="@string/no"
android:textOn="@string/yes"
app:showText="true"
android:switchPadding="5dp"
app:switchPadding="10dp"
app:theme="@style/ToggleSwitchStyle"
android:theme="@style/ToggleSwitchStyle"
android:textAllCaps="true"
app:thumbTextPadding="5dp"
>
So in the above textAllCaps does not make the text on the thumb all caps.
Switch padding has no effect
The theme using Res-Auto or Android namespace has no effect on the active colour.
However I can change the active colour by changing the colour accent on my material theme
<!-- Application theme. -->
<style name="MaterialDesign" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/yellow</item>
</style>
Make sure your Styles.xml is in values-v21 folder. I had similar issues with switchcompat for changing the color .
This worked for me. Keeping the styles.xml in values-v21 folder and ColorAccent to change the color of the switch.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="colortoggle">
<item name="colorAccent">@color/continue_button</item>
</style>
</resources>
For thumb issue: The textAppearance and the related setTypeface() methods control the typeface and style of label text, whereas the switchTextAppearance and the related seSwitchTypeface() methods control that of the thumb.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With