簡體   English   中英

當單擊一個按鈕時,如何使其背景圖像變化幾秒鍾,然后再返回?

[英]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

如您在第一段代碼中所看到的,每個按鈕狀態可以具有不同的可繪制對象(顏色,圖像...)。 按鈕狀態可以在此處此處找到。

使用這種方法,您無需使用任何代碼。

使用選擇器

android按鈕選擇器

或使用OnTouchListenerACTION_DOWN變化lisbtnpressedACTION_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM