Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.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
Java 触摸时更改按钮背景_Java_Android - Fatal编程技术网

Java 触摸时更改按钮背景

Java 触摸时更改按钮背景,java,android,Java,Android,我想在不使用OnTouchListener的情况下更改按钮的绿色背景。我有这样的情况:我把一些丁字裤放在一层,然后在另一层,最后一层在另一层。当我触摸按钮时,背景正在改变(我现在使用的是OnTouchListener),但是如果我将手指拖到按钮外面,然后将其从屏幕上拿出来,按钮的背景将保持触摸时状态的图像(否则,如果我单击按钮并将芬格从按钮上取下,则背景正在改变)1.为按钮状态准备3张图像,并将其放入资源/drawable文件夹 2。在res/drawable/文件夹中创建一个新的XML文件,无

我想在不使用OnTouchListener的情况下更改按钮的绿色背景。我有这样的情况:我把一些丁字裤放在一层,然后在另一层,最后一层在另一层。当我触摸按钮时,背景正在改变(我现在使用的是OnTouchListener),但是如果我将手指拖到按钮外面,然后将其从屏幕上拿出来,按钮的背景将保持触摸时状态的图像(否则,如果我单击按钮并将芬格从按钮上取下,则背景正在改变)

1.为按钮状态准备3张图像,并将其放入
资源/drawable
文件夹

2。
res/drawable/
文件夹中创建一个新的XML文件,无论您想用什么名称,在本例中,我们只需将其命名为
my_button.XML
。此文件定义了哪个按钮状态属于哪个图像

现在,您可以通过以下Id引用此按钮:@drawable/my_button

文件:res/drawable/my_button.xml

使用
drawable
文件夹中的
my_button.xml
中的按钮图像创建xml文件,如下所示

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

选择器如下所示

<?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/btn_pressed" /> <!-- pressed -->
    <item android:state_focused="true" android:drawable="@drawable/btn_focused" /> <!-- focused -->
    <item android:drawable="@drawable/btn_default" /> <!-- default -->
</selector>


谢谢。你能给我一个代码示例吗(我在创建gui时没有使用xml)@user1021692:他的意思是,你应该在你的按钮标签中使用这个xml文件。请看这个答案的编辑我看到了xml是k有什么,但我想要一个代码示例而不是xml示例这解决了你的问题吗,如果是,请接受答案。如果你不使用xml显示你的代码,我会说清楚。。
<?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/btn_pressed" /> <!-- pressed -->
    <item android:state_focused="true" android:drawable="@drawable/btn_focused" /> <!-- focused -->
    <item android:drawable="@drawable/btn_default" /> <!-- default -->
</selector>