android - Drag a RelativeLayout on google Map with touch -


i facing issue drag layout on google map. when tried drag layout, disappear.

i using code:-

imggg.setontouchlistener(new view.ontouchlistener() {         int prevx,prevy;         @override         public boolean ontouch(view v, motionevent event) {             final relativelayout.layoutparams par=(relativelayout.layoutparams)v.getlayoutparams();             switch(event.getaction())             {                 case motionevent.action_move:                 {                     par.topmargin+=(int)event.getrawy()-prevy;                     prevy=(int)event.getrawy();                     par.leftmargin+=(int)event.getrawx()-prevx;                     prevx=(int)event.getrawx();                     v.setlayoutparams(par);                     return true;                 }                 case motionevent.action_up:                 {                     par.topmargin+=(int)event.getrawy()-prevy;                     par.leftmargin+=(int)event.getrawx()-prevx;                     v.setlayoutparams(par);                     return true;                 }                 case motionevent.action_down:                 {                     prevx=(int)event.getrawx();                     prevy=(int)event.getrawy();                     par.bottommargin=-2*v.getheight();                     par.rightmargin=-2*v.getwidth();                     v.setlayoutparams(par);                     return true;                 }             }             return false;          }     });   

here, imggg relative layout object , overlay on google map. want drag layout on touch drag marker 1 position another.

please me this. in advance.

you can use code drag relativelayout:

relativelayout draggable = (relativelayout) findviewbyid(r.id.draggable); draggable.setontouchlistener(new view.ontouchlistener() {     @override     public boolean ontouch(final view view, final motionevent motionevent) {         relativelayout.layoutparams params = (relativelayout.layoutparams) view.getlayoutparams();          switch (motionevent.getaction()) {             case motionevent.action_move: {                 params.topmargin = (int) motionevent.getrawy() - (view.getheight() / 2);                 params.leftmargin = (int) motionevent.getrawx() - (view.getwidth() / 2);                 view.setlayoutparams(params);                 return true;             }             case motionevent.action_up: {                 return true;             }             case motionevent.action_down: {                 return true;             }         }          return false;     } }); 

and layout example complete:

<relativelayout xmlns:android="http://schemas.android.com/apk/res/android"                 android:layout_width="match_parent"                 android:layout_height="match_parent"                 android:orientation="vertical">      <fragment         android:id="@+id/map"         android:name="com.google.android.gms.maps.supportmapfragment"         xmlns:android="http://schemas.android.com/apk/res/android"         xmlns:tools="http://schemas.android.com/tools"         android:layout_width="match_parent"         android:layout_height="match_parent"         tools:context=".mapsactivity"/>      <relativelayout         android:id="@+id/draggable"         android:layout_width="100dp"         android:layout_height="100dp"         android:background="#ff0000"         android:clickable="true"/>  </relativelayout>