更改 Material 3 开关的轮廓颜色

问题描述 投票:0回答:1

我正在尝试找到一种方法来更改材质 3 开关的轮廓颜色,但由于某些奇怪的原因,我找不到方法,如果有人能告诉我如何在 XML 和后台代码中做到这一点,我将不胜感激。

此外,如果您能指导我查看 Material 3 组件的文档,我将不胜感激!

我当前的开关如下所示:

<com.google.android.material.materialswitch.MaterialSwitch
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:checked="true"
android:text="Material 3"/>

感谢您的帮助!

android kotlin android-layout material-design
1个回答
0
投票

遵循材料组件的文档

1.定义您的新
MaterialSwitch
风格

在您的

styles.xml
中定义您的新样式,定义您的
materialThemeOverlay
项目

<style name="Your.Style.Name" parent="Widget.Material3.CompoundButton.MaterialSwitch">
    <item name="materialThemeOverlay">@style/ThemeOverlay.App.Switch</item>
</style>

2.定义您的
ThemeOverlay

<style name="ThemeOverlay.App.Switch" parent="">
    <item name="colorPrimary">@color/pink_200</item>
    <item name="colorSurfaceVariant">@color/pink_100</item>
</style>

这里有两种方法:将您的样式实现到 all

MaterialSwitch
或手动将您的样式应用到您的
MaterialSwitch

3.将样式应用于所有
MaterialSwitch

在 styles.xml 中的主要样式中,将新样式应用于所有

MaterialSwitch

<style name="Theme.App" parent="Theme.Material3.*">
    ...
    <item name="materialSwitchStyle">@style/Widget.App.Switch</item>
</style>

3.1 应用单例样式
MaterialSwitch

<com.google.android.material.materialswitch.MaterialSwitch
        ...
    style="@style/Widget.App.Switch"
    />
© www.soinside.com 2019 - 2024. All rights reserved.