Android Buttonの押下と持ち上げイベントの傍受


コード実装の機能は、1つのボタンが押下された実装で光色図安を表示し、持ち上げたときの黄色のパターンを表示させることである.
それから図案は自分で形を設定します.もちろん一角とか欠けてもいいです....
ButtonにOnTouchListenerリスナーをバインドします.
public class AppMain extends Activity{
	
	private Button mButton;
	
    /** Called when the activity is first created. */
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        ButtonListener b = new ButtonListener();       
        mButton = (Button)findViewById(R.id.button1);
        mButton.setOnClickListener(b);
        mButton.setOnTouchListener(b);
        mButton.setBackgroundResource(R.drawable.green);
        
    }
    
    class ButtonListener implements OnClickListener, OnTouchListener{

		public void onClick(View v) {
			if(v.getId() == R.id.button1){
				Log.d("test", "cansal button ---> click");
			}
		}

		public boolean onTouch(View v, MotionEvent event) {
			if(v.getId() == R.id.button1){
				if(event.getAction() == MotionEvent.ACTION_UP){
					Log.d("test", "cansal button ---> cancel");
					mButton.setBackgroundResource(R.drawable.green);
				} 
				if(event.getAction() == MotionEvent.ACTION_DOWN){
					Log.d("test", "cansal button ---> down");
					mButton.setBackgroundResource(R.drawable.yellow);
				}
			}
			return false;
		}
		
    }
}