我想創建一個事件來更改我的圖像按鈕的外觀,但僅當它被按下時。到目前爲止,我一直在使用onTouch監聽器,但這只是永久性的改變它。我找不到任何按鈕的onKyeUpListener()類型的東西。我如何設置ImageButton只在我的手指觸摸它時纔會更改
這樣的事情是否存在?
解決
final ImageButton button = (ImageButton) findViewById(R.id.ImageButton01);
button.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == (MotionEvent.ACTION_UP)){
//Do whatever you want after press
}
else{
//Do whatever you want during press
}
return true;
}
});
完美。謝謝。我會在4分鐘內接受這個答案。 – NotACleverMan 2010-10-26 22:53:56
與使用StateListDrawable相比,此解決方案過度(如EboMike所述)。 – 2010-10-27 19:00:57
或丹尼爾。事實上,丹尼爾甚至還添加了一個鏈接。我會接受他的回答。在onTouch中手動執行它是過度殺毒和完全不可靠的。如果用戶使用軌跡球選擇按鈕會怎麼樣? – EboMike 2010-10-27 20:52:46