在一个布局文件中, 可以通过Scroller 来滑动在屏幕上的位置
其主要函数有:
scrollTo(int, int); //滑动到具体位置,可为负数,即屏幕以外
startScroll(); //该函数需要配合computeScroll() 来使用,其主要是一个过渡滑动效果.
通过继承跟标签来创建出Scroller , 通过Scroller 来操控其布局的具体位置,效果见下:
关键代码如下
public class MyLinearLayout extends LinearLayout {
private Scroller scroller;
public MyLinearLayout(Context context, AttributeSet attrs) {
super(context, attrs);
scroller = new Scroller(context);
}
public void startScroll(int startX, int startY, int dx, int dy, int duration) {
if (!scroller.isFinished()) scroller.abortAnimation();
scroller.startScroll(startX, startY, dx, dy, duration);
invalidate();
}
@Override
public void computeScroll() {
// Log.d("cece", this.toString() + " computeScroll-----------");
if (scroller.computeScrollOffset()) {
scrollTo(scroller.getCurrX(), scroller.getCurrY());
postInvalidate();
}
}
}