有時候做一些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

   

arrow
arrow
    文章標籤
    setOnTouchListener Android java
    全站熱搜

    cookiesp 發表在 痞客邦 留言(1) 人氣()