0

我是 android 新手,正在尝试一些功能。我有一个在单击按钮时调用的 xml 文件:

<?xml version="1.0" encoding="utf-8"?>


<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:drawable="@drawable/button_pressed"/>
<item android:state_pressed="true" android:drawable="@drawable/button_pressed" />
<item android:drawable="@drawable/btn_not_pressed" />  
</selector>

如何编辑此代码,以便在按下按钮时保持该状态,直到再次单击它,当它恢复到以前的状态时?

4

3 回答 3

1

您应该将 ToggleButton 与检查背景结合起来,如现有答案中所述

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- When selected, use grey -->
    <item android:drawable="@drawable/selected_image"
          android:state_checked="true" />
    <!-- When not selected, use white-->
    <item android:drawable="@drawable/unselected_image"
        android:state_checked="false"/>

 </selector>
于 2013-05-20T18:39:09.697 回答
0

如果您选择以编程方式执行此操作,则可以这样做,

boolean flag = true;

Button button = (Button) findViewById(R.id.button_id);
         button.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) {
            if(flag){
                 button.setBackgroundResource(R.drawable.clickedonce);
                 flag = false;
            }else{
                 button.setBackgroundResource(R.drawable.clickedtwice);
                 flag = true;
           }
         }
     });

也许它有帮助。

于 2013-05-20T18:34:38.960 回答
0

尝试在您的 java 类中修复它。为何时选择按钮添加一个标志,何时未选择按钮,然后当它被选中或窗口打开时添加图像以表示按下状态,当它关闭时添加图像以表示未按下。

于 2013-07-25T11:27:33.777 回答