Android 状态列表可提取帮助

Android 状态列表可提取帮助,android,xml,Android,Xml,所以我做了这两个按钮 我希望能够单击我制作的按钮,并将按钮更改为原始按钮的白色图像,而不是切换按钮中的打开和关闭状态 到目前为止,我所知道的一切都与stateListDrawable xml有关,我把它放在了3个drawable文件夹中。这是我发现它所属的唯一地方,但是,我不知道在哪里将.xml文件引用到main。您是否以编程方式执行此操作?如果是这样,请为我指出一个好教程的正确方向。android开发页面对我来说是陌生的。我会贴上按钮,这样你会有更好的想法,但我不能,直到我得到更多的分数。真是

所以我做了这两个按钮

我希望能够单击我制作的按钮,并将按钮更改为原始按钮的白色图像,而不是切换按钮中的打开和关闭状态

到目前为止,我所知道的一切都与
stateListDrawable xml
有关,我把它放在了3个drawable文件夹中。这是我发现它所属的唯一地方,但是,我不知道在哪里将.xml文件引用到main。您是否以编程方式执行此操作?如果是这样,请为我指出一个好教程的正确方向。android开发页面对我来说是陌生的。我会贴上按钮,这样你会有更好的想法,但我不能,直到我得到更多的分数。真是个花招

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
 <item android:state_pressed="true"
       android:drawable="@drawable/toggle_selection_pressed" />  
 <item android:drawable="@drawable/toggle_selection" />
</selector>

无论按钮的图像位于何处,都会引用可绘制的xml文件

例如,在放置按钮的布局中:

<Button
<!-- Other stuff -->
android:background="@drawable/xmlfile"
>

您需要一个变量来保持按钮的状态。将其放在主类声明中

    int isClicked = 0;

    button.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
        if (isClicked == 0){
           Demo_button.setsetImageResource(R.drawable.secondimage);
           isClicked = 1;
        }
        else{
           Demo_button.setsetImageResource(R.drawable.firstimage);
           isClicked = 0;
        }
    }
    }

它只是不显示任何内容,还是单击不起作用?另外,stateListDrawable xml文件的名称是什么?您可以将带有选择器的xml文件放在drawable文件夹中,而不是放在drawable ldpi/mdpi/hdpi等中,RAnderson解决方案应该可以工作。。。