现在的位置: 首页 > 综合 > 正文

android Scroller 界面滑动效果

2017年09月30日 ⁄ 综合 ⁄ 共 750字 ⁄ 字号 评论关闭

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



抱歉!评论已关闭.