我为按钮按下和未按下的背景颜色创建了一个自定义按钮 xml 文件。颜色在颜色 xml 文件中。当我尝试将 custom_button 应用于 xml 编辑器中的背景选项时,文件出现但我无法单击应用。我已经完成了相同的程序,但在上一个项目中使用了切换按钮。当按下 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>
颜色.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);
自定义.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"/>