2013-01-04 19 views
5

Tôi cần triển khai chức năng khi tôi xóa ngón tay khỏi mục. Vì vậy, tôi cần một số sự kiện cho điều đó.Sự kiện cảm ứng: khi lấy ngón tay ra khỏi mục

***Scenario:*** 

1. Touch the image view using finger. 
2. Remove the finger. 
3. Now implement the functionality. 

tôi muốn gọi lại sự kiện ở bước 2.

Nếu một số sự kiện được xác định trước tồn tại, xin đề nghị tên.

Trả lời

9

Ok. Khi bạn chạm vào màn hình và loại bỏ các sự kiện ngón tay của bạn gọi:

  1. ACTION_DOWN - khi bạn chạm lần đầu
  2. ACTION_MOVE - khi bạn đang di chuyển ngón tay của bạn trên màn hình
  3. ACTION_UP - khi bạn loại bỏ ngón tay của bạn từ màn hình

Chúc may mắn!

+0

cảm ơn bạn, đây là hữu ích ... –

+0

cảm ơn bạn, đây là hữu ích ... –

6

Đối với kịch bản đó, bạn có thể triển khai OnTouchListener cho ImageView.

yourImageView.setOnTouchListener(new OnTouchListener() { 
    public boolean onTouch(View view, MotionEvent event) { 

    if (event.getAction() == android.view.MotionEvent.ACTION_DOWN) { 
     Log.d("TouchTest", "Touch down"); 
    } 
    else if (event.getAction() == android.view.MotionEvent.ACTION_UP) { 
     Log.d("TouchTest", "Touch up"); 
    } 
    } 
} 
+0

Lưu ý rằng nếu bạn muốn nhận được MotionEvent.ACTION_UP sau MotionEvent.ACTION_DOWN, bạn nên trở thành sự thật trên ACTION_DOWN –

0
public class TestTouchEvents extends Activity implements OnTouchListener { 
    ImageView imageView; 
    Bitmap bitmap; 
    Canvas canvas; 
    Paint paint; 


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

    imageView = (ImageView) this.findViewById(R.id.ImageView); 

    Display currentDisplay = getWindowManager().getDefaultDisplay(); 
    float dw = currentDisplay.getWidth(); 
    float dh = currentDisplay.getHeight(); 

    bitmap = Bitmap.createBitmap((int) dw, (int) dh,Bitmap.Config.ARGB_8888); 
    canvas = new Canvas(bitmap); 
    paint = new Paint(); 
    paint.setColor(Color.GREEN); 
    imageView.setImageBitmap(bitmap); 
    imageView.setOnTouchListener(this); 
    } 

    public boolean onTouch(View v, MotionEvent event) { 
    int action = event.getAction(); 

    switch (action) { 
    case MotionEvent.ACTION_DOWN: 
     // Do Something 
     Log.d("Touch", "Touch down"); 
     break; 

    case MotionEvent.ACTION_MOVE: 

     // Do Something 
     Log.d("Touch", "Touch move"); 
     //imageView.invalidate(); 

     break; 

    case MotionEvent.ACTION_UP: 

     // Do Something 
     Log.d("Touch", "Touch up"); 
     //imageView.invalidate(); 
     break; 

    case MotionEvent.ACTION_CANCEL: 

     Log.d("Touch", "Touch cancel"); 
     break; 

    default: 
     break; 
    } 
    return true; 
    } 
} 
Các vấn đề liên quan