前段时间简单的写了两篇关于android View的滚动的博客(详见《 View的滚动原理简单解析》和《 View的滚动原理简单解析(二)》 ,我们知道要改变一个View的位置
有好几种方式比如:
1)调用View的layout方法,设置View的布局位置
2)修改View的layoutParam参数
3)ParentView调用scrollTo/scrollBy方法改动childView的位置
当然还有其他方法,这个方法就是本篇博客的主角,这两个方法就是View类中的offsetLeftAndRight和offsetTopAndBottom,通过这两个方法可以用来修改一个View的的位置;比如要让一个View从初始位置水平竖直方向个移动100,简单如下代码就可以:
view.offsetLeftAndRight(100);
view.offsetTopAndBottom(100);
那么这个滚动View的方法跟scrollTo/scrollBy方法的区别就是scroll/scrollBy方法不会改变一个View的getLeft,getRight,getBottom,getTop的值,而offsetLeftAndRight和offsetTopAndBottom却可以改变上面的四个方法的返回值
这么个简单的调用就实现了View位置的改