BloggerAds

2011年8月28日 星期日

監聽Button 按下的事件setOnTouchListener(UI元件通用)

有時候做一些APP 會想要按下去的時候元件變顏色  然後手起來就恢復了


利用setOnTouchListener就OK囉!


實體鍵可以利用onKeyDown  onKeyUp來實現 (參考http://cookiesp.pixnet.net/blog/post/68348905)


button1.setOnTouchListener(new Button.OnTouchListener(){
@Override
public boolean onTouch(View arg0, MotionEvent motionEvent) {
if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) { //按下的時候改變背景及顏色
button1.setBackgroundResource(R.drawable.black_background);
button1.setTextColor(Color.WHITE);
}
if (motionEvent.getAction() == MotionEvent.ACTION_UP) { //起來的時候恢復背景與顏色
button1.setBackgroundResource(R.drawable.white_background);
button1.setTextColor(Color.BLACK);
}
return false;
}
}};


button_up     

button_down