在一个布局文件中, 可以通过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(); } } }