我有这段代码,当我按下按钮时背景会发生变化,但是当我停止按下按钮时,会返回到第一个背景。
next
答案 0 :(得分:0)
为特定按钮实施onClick()函数
在布局文件中,
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click ME!"/>
在活动中,
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.setBackgroundColor(Color.RED);
}
});
我猜这对您有帮助。
答案 1 :(得分:0)
您应该添加:
android:state_selected =“ true”
您的可绘制对象将如下所示:
<item android:drawable="@drawable/botonverdeencendido" android:state_selected="true" />
<item android:drawable="@drawable/botonverdeencendido" android:state_pressed="true" />
<item android:drawable="@drawable/botonverdeapagado" />
答案 2 :(得分:0)
要在按下按钮时更改按钮的背景色,可以这样做,
btn.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
//Button pressed color
if (event.getAction() == MotionEvent.ACTION_DOWN) {
btn.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
}
// Button pressed stopped
if (event.getAction() == MotionEvent.ACTION_UP || event.getAction() == MotionEvent.ACTION_CANCEL) {
btn.setBackgroundColor(getResources().getColor(R.color.colorAccent));
}
return false;
}
});
我认为这对您有用。