我正在尝试找到一种方法来更改材质 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"/>
感谢您的帮助!
遵循材料组件的文档:
MaterialSwitch
风格在您的
styles.xml
中定义您的新样式,定义您的materialThemeOverlay
项目
<style name="Your.Style.Name" parent="Widget.Material3.CompoundButton.MaterialSwitch">
<item name="materialThemeOverlay">@style/ThemeOverlay.App.Switch</item>
</style>
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
。
MaterialSwitch
在 styles.xml 中的主要样式中,将新样式应用于所有
MaterialSwitch
<style name="Theme.App" parent="Theme.Material3.*">
...
<item name="materialSwitchStyle">@style/Widget.App.Switch</item>
</style>
MaterialSwitch
<com.google.android.material.materialswitch.MaterialSwitch
...
style="@style/Widget.App.Switch"
/>