是否可以动态更改Switch小部件的ON颜色?

时间:2019-05-06 09:11:37

标签: java android xml android-layout android-switch

我正在构建一个应用,希望用户可以选择更改一些颜色。

应用程序的外观如下:https://imgur.com/STqHZmW

我希望“外观”颜色确定“通知” Switch的颜色。 我知道如何在启动时将其设置为另一种,但是我似乎找不到动态的方法。我什至不知道是否有可能,但是任何帮助将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:0)

唯一的方法是使用选择器和样式,前段时间我遇到了同样的障碍。我猜您正在使用外观颜色作为小部件的色调。

Here是制作选择器的方法。

选择器的问题在于它们包含两个图像,这些图像根据切换状态进行切换。而且,它们没有可用的色彩属性。您必须为Aspect选项中可用的每种颜色创建很多选择器,然后为每种主题设置它们。然后,您必须使用以下命令在运行时切换主题:

setTheme(android.R.style.Theme_Dark);

也许有一个新的切换按钮或自定义小部件可以让您执行此操作,但我不知道它是否存在。