(This example will show you how to monitor click, long press and release button status)
1)點擊(click)
2)長按(long press)
3)放開(release)
File : MainActivity.java
import android.os.Bundle; import android.app.Activity; import android.util.Log; import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnLongClickListener; import android.view.View.OnTouchListener; import android.widget.Button; public class MainActivity extends Activity { boolean isBtnLongPressed = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn = (Button) findViewById(R.id.button1); btn.setOnLongClickListener(new HoldListener()); btn.setOnTouchListener(new touchListener()); btn.setOnClickListener(new clickListener()); } //監聽點擊(detect click) private class clickListener implements OnClickListener { @Override public void onClick(View view) { Log.e("log", "click button"); } } //監聽長按(detect long press) private class HoldListener implements OnLongClickListener { @Override public boolean onLongClick(View pView) { // Do something when your hold starts here. isBtnLongPressed = true; Log.e("log", "long press button"); return true; } } //監聽放開按鈕(detect release button) private class touchListener implements OnTouchListener { @Override public boolean onTouch(View pView, MotionEvent pEvent) { if (pEvent.getAction() == MotionEvent.ACTION_UP) { if (isBtnLongPressed) { // Do something when the button is released. isBtnLongPressed = false; Log.e("log", "release"); } } return false; } } }
沒有留言:
張貼留言