我已将此代码放在我的onClickListener
:
btnListenC.setBackgroundResource(R.drawable.lisbtnpressed);
但是从这里开始,我如何制作它以使可绘制的'lisbtnpressed'
在几秒后变回其原始图像?
答案 0 :(得分:2)
您可以使用 drawable 文件夹(mybutton.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/mydrawable />
<item android:state_focused="true" android:drawable="@drawable/otherdrawable" />
<item android:drawable="@color/redcolor" />
</selector>
并在按钮xml代码中使用它
android:background:@drawable/mybutton
正如您在第一段代码中所看到的,每个按钮状态都可以有不同的可绘制颜色(颜色,图像......)。可以找到按钮状态here或here。
使用这种方法,您不需要使用任何代码。
答案 1 :(得分:0)
使用选择器
或使用OnTouchListener
上的ACTION_DOWN
更改为设置为默认的lisbtnpressed
上的ACTION_UP
btnListenC.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction())
{
case MotionEvent.ACTION_DOWN :
// change
btnListenC.setBackgroundResource(R.drawable.lisbtnpressed);
break;
case MotionEvent.ACTION_UP :
// set to original
btnListenC.setBackgroundResource(R.drawable.lisbtnoriginal);
break;
}
return true;
}
});