滑动的7种方法
1.layout(int left,int top ,int right, int right)
* left/top/right/right均为绝对坐标
2.offsetLeftAndRight和offsetTopAndBottom
* 与layout用法相同,是对layout方法的封装
3.LayoutParams
* **LinearLayout.LayoutParams** params = (LinearLayout.LayoutParams)getLayoutParams();
* params.leftMargin = getLeft() + offsetX();
* params.topMargin = getRight()+ offsetY();
* setLayoutParams(params);
* **ViewGroup.MarginLayoutParams** params = (ViewGroup.MarginLayoutParams)getLayoutParams();
* 同上
4.ScrollTo和ScrollBy
((View)getParent()).scrollBy(offsetX, offsetY);
注意:
1)移动的是内容。如果是ViewGroup,则移动的是子View;如果移动的是TextView,则移动的是文字;如果移动的是ImageView,则移动的是drawable
2)坐标参考系
这个比较特殊,可以理解为移动的是屏幕,而非View。举例:一个绝对坐标为(20,10)的Button,如果对其使用((View)getParent()).scrollBy(20,10),则这个按钮将被移动到(0,0)。
5.Scroller
6.属性动画
7.ViewDragHelper