怎么使用Android实现图片浮动随意拖拽效果

  介绍

这篇文章主要介绍怎么使用Android实现图片浮动随意拖拽效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

本文实例为大家分享了Android实现图片浮动拖拽效果的具体代码,供大家参考,具体内容如下

实现步骤

1。先自定义一个浮动工具类

public  class  MoveImage  extends  ImageView  {/* *   ,*   ,*浮动工具类   ,*   ,*/,private  int  lastX =, 0;   ,private  int  lastY =, 0;      ,private  int  dx;   ,private  int  dy;   ,private  float  movex =, 0;   ,private  float  movey =, 0;      ,private  int  screenWidth;   ,private  int  screenHeight;      ,public  MoveImage (Context 上下文,AttributeSet  attrs), {   ,超级(上下文,attrs);=,,screenWidth  ScreenUtils.getWidth(上下文);=,,screenHeight  ScreenUtils.getHeight(上下文);   ,}      ,@Override   ,public  boolean  onTouchEvent (MotionEvent 事件),{   ,switch  (event.getAction ()), {   ,case  MotionEvent.ACTION_DOWN:=,lastX  (int), event.getRawX ();=,lastY  (int), event.getRawY ();=,,movex  lastX;=,,movey  lastY;   ,打破;   ,case  MotionEvent.ACTION_MOVE:=,dx  (int), event.getRawX(),安康;lastX;=,dy  (int), event.getRawY(),安康;lastY;      ,int  left =, getLeft (), +, dx;   ,int  top =, getTop (), +, dy;   ,int  right =, getRight (), +, dx;   ,int  bottom =, getBottom (), +, dy;   ,if  (left  & lt;, 0), {=,left  0;=,,right  left  +, getWidth ();   ,}   ,if  (right 祝辞,screenWidth), {=,,right  screenWidth;=,,left  right 作用;getWidth ();   ,}   ,if  (top  & lt;, 0), {=,top  0;=,,bottom  top  +,获得();   ,}   ,if  (bottom 祝辞,screenHeight), {=,,bottom  screenHeight;=,,top  bottom 作用;获得();   ,}   ,布局(左,,,,对,,底部);=,lastX  (int), event.getRawX ();=,lastY  (int), event.getRawY ();   ,打破;   ,case  MotionEvent.ACTION_UP:   ,//避免滑出触发点击事件   ,if  ((int), (event.getRawX(),安康;movex), !=, 0   ,| |,(int), (event.getRawY(),安康;movey), !=, 0), {   ,return 真实;   ,}   ,打破;   ,默认值:   ,打破;   ,}   ,return  super.onTouchEvent(事件);   ,}   }

2。xml布局的引用

& lt; com.zjtd.bzcommunity.text.MoveImage   ,android: id=癅 + id/iv_phone_bar"   ,android: layout_width=皐rap_content"   ,android: layout_height=皐rap_content"   ,android: layout_alignParentBottom=皌rue"   ,android: layout_alignParentRight=皌rue"   70年,android: layout_marginBottom=癲p"   https://www.yisu.com/zixun/, android: src=" @drawable/my_qiandao_icon "/>

3。活动的实现

private  MoveImage  iv_phone_bar;//签到图片   iv_phone_bar =, (MoveImage), view.findViewById (R.id.iv_phone_bar);   iv_phone_bar.setOnClickListener(这个);//,签到   case  R.id.iv_phone_bar:   ,startActivity (new 意图(getActivity (),, SignAcitvity.class));//点击跳转页面   ,打破;

怎么使用Android实现图片浮动随意拖拽效果