一,ScollTo(x,y)是将view的内容移动到x,y
而 ScollBy(x,y)是将view的内容b平滑的移动x,y
ScollBy和ScollTo方法之间的关系:
public void srcrollBy(int x,int y){scrollTo(mScrollX + x,mScrollY + y);}mScrollX表示view左边缘和view内容左边缘在水平方向上的距离,如果view左边缘在view内容左边缘右边,为正值,反之为负值。 所以从左向右滑时,实际是view的内容在向右移,相对来说,就是view在往左移,所以移动值为负值。mScrollY表示view上边缘和view内容上边缘竖直方向的距离
操作简单,适合实现对view内容的滑动
二。动画
View动画操作的主要是view的translationX和translationY属性
View动画并不能真正移动view的位置,这样如果移动了button,button在新的位置并不能响应click事件,而点击老位置,虽然看不到button,但会响应click事件----所以view动画不能用于要与用户交互的场合
3.0后属性动画解决了这个问题,
3.0以前也可以使用nineoldandroids动画兼容库来实现属性动画,但3.0以前的属性动画本质上还是用view动画实现的,所以也存在同样的问题
三。改变布局参数
即改变LayoutParams
LayoutParams l = mTextView.getLayoutParams();l.width += 10;mTextView.setLayoutParams(l);操作稍微复杂,适用于需交互的场合实现弹性动画的方法:动画,Scoller和延时策略
参考:Android开发艺术探索
新闻热点
疑难解答