Android Studio - How to apply onFling to an imageView? -


i'm pretty new developing apps, @ moment i'm trying learn basics.

so far code runs , if swipe screen image moves (which want). however, @ moment image moves if swipe anywhere on screen, want move when swipe image.

here's main activity code:

package com.colourdrop.swipeattempt;  import android.os.bundle; import android.support.v4.view.gesturedetectorcompat; import android.support.v7.app.appcompatactivity; import android.view.gesturedetector; import android.view.menu; import android.view.menuitem; import android.view.motionevent; import android.view.view; import android.widget.imageview; import android.widget.textview;   public class myactivity extends appcompatactivity implements         gesturedetector.ongesturelistener,gesturedetector.ondoubletaplistener{      private textview text;     private imageview image;     private gesturedetectorcompat gesturedetector;      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_my);          text = (textview) findviewbyid(r.id.textview);         image = (imageview) findviewbyid(r.id.image);         this.gesturedetector = new gesturedetectorcompat(this, this);         gesturedetector.setondoubletaplistener(this);     }      @override     public boolean oncreateoptionsmenu(menu menu) {         // inflate menu; adds items action bar if present.         getmenuinflater().inflate(r.menu.menu_main, menu);         return true;     }      @override     public boolean onoptionsitemselected(menuitem item) {         // handle action bar item clicks here. action bar         // automatically handle clicks on home/up button, long         // specify parent activity in androidmanifest.xml.         int id = item.getitemid();          //noinspection simplifiableifstatement         if (id == r.id.action_settings) {             return true;         }          return super.onoptionsitemselected(item);     }       public void update(view v){         text.settext("you pressed button!");     }      ////// begin gestures //////     @override     public boolean onsingletapconfirmed(motionevent e) {         text.settext("onsingletapconfirmed");         return true;     }      @override     public boolean ondoubletap(motionevent e) {         text.settext("ondoubletap");         return true;     }      @override     public boolean ondoubletapevent(motionevent e) {         text.settext("ondoubletapevent");         return true;     }      @override     public boolean ondown(motionevent e) {         text.settext("ondown");         return true;     }      @override     public void onshowpress(motionevent e) {         text.settext("onshowpress");      }      @override     public boolean onsingletapup(motionevent e) {         text.settext("onsingletapup");         return false;     }      @override     public boolean onscroll(motionevent e1, motionevent e2, float distancex, float distancey) {         text.settext("onscroll");         return false;     }      @override     public void onlongpress(motionevent e) {         text.settext("onlongpress");     }      @override     public boolean onfling(motionevent e1, motionevent e2, float velocityx, float velocityy) {         text.settext("onfling");         image.setx(image.getx()+200);          return false;     }       @override     public boolean ontouchevent(motionevent event) {         this.gesturedetector.ontouchevent(event);         return super.ontouchevent(event);     } } 

instead of delegating activity's ontouchevent gesturedetector, delegate imageview's ontouch.

image.setontouchlistener(new view.ontouchlistener() {     public boolean ontouch(view v, motionevent event) {         return gesturedetector.ontouchevent(event);     } }); 

Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -