我使用下面的代码创建了圆形切换按钮。 我想根据切换状态更改按钮的颜色 -
如果没有为java活动添加代码,我怎么能这样做(类似于'textoff'和'texton'中的构建,我只能将代码添加到xml中,而无需向后面的java代码添加代码)
有可能吗?
<ToggleButton
android:id ="@+id/actionToggleButton"
android:layout_width="150dp"
android:layout_height="150dp"
android:background="@drawable/button_bg_round"
android:textoff="off"
android:texton="on"
android:padding="15dp"
/>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="oval">
<stroke android:color="#1E90FF" android:width="5dp" />
<solid android:color="#87CEEB"/>
<size android:width="150dp" android:height="150dp"/>
</shape>
</item>
</selector>
答案 0 :(得分:2)
您可以在style.xml中为ToggleButton定义自定义样式,例如:
<style name="ToggleButton.CustomTheme" parent="Theme.AppCompat.Light">
<item name="colorControlNormal">@color/your_color</item>
<item name="colorControlActivated">@color/your_color</item>
</style>
然后将样式应用于ToggleButton
<ToggleButton
android:id ="@+id/actionToggleButton"
android:layout_width="150dp"
android:layout_height="150dp"
android:background="@drawable/button_bg_round"
android:textoff="off"
android:texton="on"
android:padding="15dp"
android:theme="@style/ToggleButton.CustomTheme"
/>
而不是colorControlActivated它可能是colorAccent,我现在无法测试。
希望这有帮助。