2012-11-09 48 views
2

我在佈局中定義了一個按鈕,我實現了onclick按鈕而沒有任何問題,但現在我需要知道我的按鈕什麼時候處於昏暗狀態,就像onkeydown事件爲fisical按鈕一樣。海關按鈕有類似的東西。因爲onKeyDown(int keyCode,KeyEvent事件)有一個int鍵碼,但muy自定義按鈕沒有。 我希望有人可以拿走那個查詢。 預先感謝您如何在自定義按鈕中實現onkeydown事件android

回答

7

是的,有。試試這個代碼。

yourButton.setOnTouchListener(new OnTouchListener() { 

     public boolean onTouch(View v, MotionEvent event) { 

       switch (event.getAction()) { 
       case MotionEvent.ACTION_DOWN: break; 
       case MotionEvent.ACTION_UP: break; 
       } 
       return true; 
     } 
    }); 
0

我想,你可以嘗試這樣的事:

public class MainActivity extends Activity { 

    private Button button ; 
    private Boolean buttonState = false; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     button = (Button) findViewById(R.id.button1); 

     button.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       buttonState = !buttonState; 
       if(buttonState){ 
        button.setText("Down"); 
       } else { 
        button.setText("Up"); 
       }    
      } 
     }); 
    } 

} 
+0

我不認爲這是正確的答案他需要觸摸事件的上下。你在談論切換。 – Shiv

+0

感謝「Yuriy Bugryn」,「spanjeta」是正確的。但你的代碼是有幫助的,因爲我學到的東西更多 – cristianego

+0

ohh,真的我認爲,他想切換))) –

相關問題