0

我为按钮按下和未按下的背景颜色创建了一个自定义按钮 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"/>
4

0 回答 0