Android Scroll分析 ——《群英传》第五章

滑动的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
文章目录
|