Android随手指移动的DragView(二)——移动DragView

原创 2016年08月28日 23:39:00

获取偏移量offsetX和offsetY后,可以通过以下几种方式移动DragView:
(1),通过layout实现DragView的移动。

layout(getLeft() + offsetX, getTop() + offsetY, getRight() + offsetX, getBottom() + offsetY);

(2),通过ViewGroup.MarginLayoutParams实现DragView的移动。

 ViewGroup.MarginLayoutParams mlp = (ViewGroup.MarginLayoutParams) getLayoutParams();
 mlp.leftMargin = getLeft() + offsetX;
 mlp.topMargin = getTop() + offsetY;
 setLayoutParams(mlp);

(3),通过offsetLeftAndRight和offsetTopAndBottom实现DragView的移动。

//View封装好的方法,调用即可
offsetLeftAndRight(offsetX);
offsetTopAndBottom(offsetY);

(4),通过scrollTo实现DragView的移动。

//注意这里移动的是父布局,所以需要调用parent.getScrollX()
//而且getLeft一直不变,因为子View一直没动,改变的是父布局而已     
View parent = (View) getParent();  
parent.scrollTo(parent.getScrollX() - offsetX, parent.getScrollY() - offsetY);

(5),通过scrollBy实现DragView的移动。

//因为移动的父View,父View像左移动,子View相对向右移动。所以为-offsetX。
((View) getParent()).scrollBy(-offsetX, -offsetY);

Android 自定义View--DragView

自定义View的Demo,这是一个可以拖动的View. 代码 /** * Created by shixi_tianrui1 on 16-10-5. * 可以拖动的View */public ...

Android 自定义View基础(五)--DragView

接着前面几篇文章,我们这篇文章实现拖动控件的效果:实现如上的效果有以下几种方法: layout() offsetLeftAndRight(dx)和offsetTopAndBottom(dy) Layo...

Android——自定义View随手自由移动

参考《Android开发艺术探索》 最终效果分析我们实现一个跟手自由移动的效果。自定义View,拖动它可以让它在整个屏幕随意移动。 这个View实现起来很简单。我们只需要重写它的 onTouchEv...

dragView一些知识 -未完成状态

package com.example.draggridview; import android.animation.LayoutTransition; import android.animati...

Android 开源项目浅读-------SwipeMenuListView-重写,第三章,随手指移动的菜单

这一篇文章主要实现随手指移动的菜单。效果如图。 在上一篇基础上,我们将Button改为Layout,那么,我们就可以使得TextView和图片一起显示,甚至可以实现更复杂的显示。 那么我们实现S...

天天记录 - Android 使用view.ScrollBy实现View随手指移动

这篇文章的原标题是《Android 使用scroller实现View随手指移动》 真是大错特错, Scroller仅仅是一个辅助类用于根据滚动速度获取每次的偏移量而已。 一 有图有真相,先上图和...

Android自实现activity之间切换,view随手指移动

实现手指滑动切换activity,带动画,view会随手指的位置切换,有动画。 public class SecondActivity extends BaseActivity implements ...

随手指移动动态画出气泡

  • 2016年01月11日 16:33
  • 5.4MB
  • 下载

多种方式实现随手指移动的滑块

  • 2017年03月22日 16:11
  • 26.73MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android随手指移动的DragView(二)——移动DragView
举报原因:
原因补充:

(最多只允许输入30个字)