Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ImageButton返回到previous.xml_Android_Xml_Button - Fatal编程技术网

Android ImageButton返回到previous.xml

Android ImageButton返回到previous.xml,android,xml,button,Android,Xml,Button,我试图创建一个按钮,当按下时会改变状态,例如,一个虚拟箱子按钮有一个箱子的初始图像,然后当在图像中按下时,会改变为一个打开盖子的箱子。到目前为止,我有一个选择器链接到一个单独的xml中,可以绘制三种状态,但当它点击时,它不会停留在“点击中”状态,它只是点击打开和关闭,我需要将它从一个imagebutton更改为一个切换或什么的吗,而且按钮大小不会改变,我需要在点击时将其更改为更小的大小,我希望这是有意义的,这是我的代码,谢谢: <?xml version="1.0" encoding="u

我试图创建一个按钮,当按下时会改变状态,例如,一个虚拟箱子按钮有一个箱子的初始图像,然后当在图像中按下时,会改变为一个打开盖子的箱子。到目前为止,我有一个选择器链接到一个单独的xml中,可以绘制三种状态,但当它点击时,它不会停留在“点击中”状态,它只是点击打开和关闭,我需要将它从一个imagebutton更改为一个切换或什么的吗,而且按钮大小不会改变,我需要在点击时将其更改为更小的大小,我希望这是有意义的,这是我的代码,谢谢:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
        <item android:drawable="@drawable/sunday_pressed"
          android:state_pressed="true" />
    <item android:drawable="@drawable/sunday_focused"
          android:state_focused="true" />
    <item android:drawable="@drawable/sunday_default" />
</selector>
我是否会更好地创建一个交互式图形而不是一个按钮?如果可能的话?

如果希望按钮在两次单击之间“切换”到不同的状态,则需要将
切换按钮子类化。您应该能够很好地使用选择器。要在单击时修改按钮的大小,可以在
onClick()
方法中的代码中进行修改


,表示单击时会增加大小。

好的,对,谢谢,更改按钮大小时有没有办法指定对齐方式?因此,它不是改变形状到中心,而是改变形状并放置在原始按钮的顶部?你改变按钮大小的幅度有多大?
<ImageButton
    android:id="@+id/sun"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="26dp"
    android:layout_toLeftOf="@+id/mon"
    android:background="@drawable/vpbuttons"
    android:contentDescription="@string/sunday"
    android:onClick="sendMessage" />
        ImageButton imageButton = (ImageButton) findViewById(R.id.sun);
        imageButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {

            }
        });

}
}