android按钮被点击后改变按钮的颜色
时间: 2023-09-02 21:07:45 浏览: 105
要实现按钮被点击后改变颜色的效果,可以通过在Java代码中设置按钮的背景颜色来实现。具体步骤如下:
1. 在xml布局文件中,设置按钮的初始背景颜色,例如:
```
<Button
android:id="@+id/myButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click Me"
android:background="@color/button_normal" />
```
其中,button_normal是在colors.xml文件中定义的按钮初始颜色值。
2. 在Java代码中,为按钮设置点击事件,并在点击事件中改变按钮的背景颜色,例如:
```
Button myButton = findViewById(R.id.myButton);
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.setBackgroundColor(getResources().getColor(R.color.button_pressed));
}
});
```
其中,button_pressed是在colors.xml文件中定义的按钮点击后的颜色值。
这样,当按钮被点击时,按钮的背景颜色会改变为button_pressed所表示的颜色值。如果需要恢复按钮的初始颜色,可以在点击事件中加入恢复初始颜色的代码,例如:
```
Button myButton = findViewById(R.id.myButton);
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.setBackgroundColor(getResources().getColor(R.color.button_pressed));
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
v.setBackgroundColor(getResources().getColor(R.color.button_normal));
}
}, 300); // 这里设置延时300毫秒后恢复初始颜色
}
});
```
这样,按钮被点击后会立即改变颜色,过一段时间后又会恢复初始颜色。
阅读全文