欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android实现View拖拽跟随手指移动效果

程序员文章站 2023-12-01 09:50:28
今天想实现这个功能,但是网上搜索代码,都是利用setpadding,setmargin 等方法去实现的,这在android 4.0 以前是没问题的,但是,android 4...

今天想实现这个功能,但是网上搜索代码,都是利用setpadding,setmargin 等方法去实现的,这在android 4.0 以前是没问题的,但是,android 4.0 后系统已经提供了更简单的方法给我们用了,就是settranslationx() settranslationy() 。这两个是view的属性方法。现在我就用这两个方法实现一个view可以跟着手指移动拖拽的效果。代码非常非常简单:

public class dragview extends textview { 
  float movex; 
  float movey; 
  public dragview(context context) { 
    super(context); 
  } 
  public dragview(context context, attributeset attrs) { 
    super(context, attrs); 
  } 
  @override 
  public boolean ontouchevent(motionevent event) { 
    switch (event.getaction()) { 
      case motionevent.action_down: 
        movex = event.getx(); 
        movey = event.gety(); 
        break; 
      case motionevent.action_move: 
        settranslationx(getx() + (event.getx() - movex)); 
        settranslationy(gety() + (event.gety() - movey)); 
        break; 
      case motionevent.action_up: 
        break; 
      case motionevent.action_cancel: 
        break; 
    } 
    return true; 
  } 
} 

总结

以上所述是小编给大家介绍的android实现view拖拽跟随手指移动效果,希望对大家有所帮助