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>