我为按下按下的按钮和非按下的背景颜色创建了一个自定义按钮xml文件。颜色是颜色xml文件。当我尝试将custom_button应用于xml编辑器中的background选项时,该文件出现但我无法单击以应用。我已经完成了同样的程序,但在最后一个项目中使用了一个Toggle按钮。当按下1时,我的应用程序将需要10个按钮,然后其他9将重置为未按下状态,这是通过代码完成的。我还需要选择按下每个按钮以保持按下而不重置,这样就不会调用重置功能。有关使用按钮或切换按钮执行这两个选项的建议吗?
custom_button.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/button_back"
android:state_selected="true"/>
<item android:drawable="@color/button_back_selected"/>
</selector>
color.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="button_back">#901E78</color>
<color name="button_back_selected">#FF1E00</color>
</resources>
重置代码
private void ResetAllFixtureButtons() {
Fixture1.setPressed(false);
Fixture2.setPressed(false);
Fixture3.setPressed(false);
Fixture4.setPressed(false);
Fixture5.setPressed(false);
Fixture6.setPressed(false);
Fixture7.setPressed(false);
Fixture8.setPressed(false);
Fixture9.setPressed(false);
Fixture10.setPressed(false);
}
我通过将自定义按钮添加到xml文件并将按钮更改为切换按钮来解决了该问题。我还将夹具重置更改为Fixture1.setChecked(false);
cutom.xml
<ToggleButton
android:id="@+id/button1" android:layout_width="100dp" android:layout_height="60dp" android:layout_marginLeft="240dp"
android:layout_marginTop="20dp" android:textSize="30dp" android:textOff="F1" android:textOn="F1"
android:background="@drawable/custom" android:textColor="@drawable/white"/>