[英]How to change background of a button in android and retain it after few seconds
[英]When a button is clicked, how to make its background image will change for a few seconds before reverting back?
我已將此代碼放在onClickListener
:
btnListenC.setBackgroundResource(R.drawable.lisbtnpressed);
但是,從這里開始,如何使可繪制的'lisbtnpressed'
在幾秒鍾后變回其原始圖像?
使用可繪制文件夾(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
如您在第一段代碼中所看到的,每個按鈕狀態可以具有不同的可繪制對象(顏色,圖像...)。 按鈕狀態可以在此處或此處找到。
使用這種方法,您無需使用任何代碼。
使用選擇器
或使用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;
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.