这篇文章给大家介绍Android中怎么实现按钮拖拽还原功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
创新互联长期为近1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为乳山企业提供专业的网站制作、做网站,乳山网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。具体代码如下所示:
public class MainActivity extends AppCompatActivity { private ImageButton ibOk ; private int lastX; private int lastY; private int startLeft; private int startRight; private int startTop; private int startBottom; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ibOk = (ImageButton) findViewById(R.id.ib_ok); ibOk.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); //获取手机触摸的坐标 int x = (int) event.getX(); int y = (int) event.getY(); switch (action) { case MotionEvent.ACTION_DOWN://按下,获取小球初始的位置 startLeft = ibOk.getLeft(); startRight = ibOk.getRight(); startTop = ibOk.getTop(); startBottom = ibOk.getBottom(); lastX = x; lastY = y; break; case MotionEvent.ACTION_MOVE://移动,小球跟随手指的移动 int offsetX = x - lastX; int offsetY = y - lastY; ibOk.layout(ibOk.getLeft() + offsetX, ibOk.getTop() + offsetY, ibOk.getRight() + offsetX, ibOk.getBottom() + offsetY); break; case MotionEvent.ACTION_UP://当手指抬起时,回到小球初始的位置 ibOk.layout(startLeft, startTop, startRight, startBottom); break; } return true; } }); } }
关于Android中怎么实现按钮拖拽还原功能就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。