Как стилизовать кнопку Google SwitchMaterial на Android? - PullRequest
3 голосов
/ 29 мая 2020

У меня есть такая кнопка переключения материала:

<com.google.android.material.switchmaterial.SwitchMaterial
                android:id="@+id/effectEnabled"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="3"
                style="@style/ButtonStyle2"
                android:checked="true"
                android:enabled="true" />

вот стиль:

<style name="ButtonStyle2" parent="Base.Widget.AppCompat.Button">
        <!--<item name="android:fontFamily">sans-serif-light</item>-->
        <!--<item name="android:textStyle">bold</item>-->
        <item name="android:textColor">@color/colorPrimary</item>
        <item name="android:textSize">20sp</item>
        <item name="android:textAllCaps">false</item>
    </style>

с этими стилями кнопка ломается и с квадратным фоном серого цвета .

Как мне стилизовать кнопки SwitchMaterial? Я просто хочу изменить цвет переключателя

1 Ответ

4 голосов
/ 29 мая 2020

Вы можете использовать app:thumbTint и / или app:trackTint, чтобы изменить цвета переключателя. Для лучших результатов определите ColorStateList в res/color (ie: res/color/custom_thumb_selector.xml), чтобы иметь разные цвета в зависимости от того, отмечен он или нет. ie:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:color="@color/customChecked" />
    <item android:color="@color/customUnchecked" />
</selector>

, а затем установите его в своем стиле:

<style name="ButtonStyle2" parent="Widget.MaterialComponents.CompoundButton.Switch">
    <item name="thumbTint">@color/custom_thumb_selector</item>
</style>

Примечание: ваш собственный стиль должен наследовать от Widget.MaterialComponents.CompoundButton.Switch

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...