2013-01-04 7 views
5

Ich muss Funktionalität implementieren, wenn ich den Finger aus dem Element entfernen. Also brauche ich ein Event dafür.Touch-Ereignis: Wenn der Finger aus dem Objekt entfernt wird

***Scenario:*** 

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

möchte ich den Ereignisrückruf bei Schritt 2.

Wenn einige vordefinierte Ereignis den Namen existieren vorschlagen bitte.

Antwort

9

Ok. Wenn Sie Bildschirm berühren und entfernen Sie mit dem Finger Ereignisse rufen:

  1. ACTION_DOWN - bei der ersten Berührung
  2. ACTION_MOVE - wenn Sie Ihren Finger bewegen sich auf dem Bildschirm
  3. ACTION_UP - wenn Sie entfernen Ihr Finger vom Bildschirm

Viel Glück!

+0

true zurückgeben sollte danke, das nützlich ist ... –

+0

Ihnen danken, das hilfreich ist ... –

6

Für dieses Szenario können Sie OnTouchListener für das ImageView implementieren.

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

Beachten Sie, dass, wenn Sie MotionEvent.ACTION_UP nach MotionEvent.ACTION_DOWN erhalten möchten, können Sie auf 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; 
    } 
} 
Verwandte Themen