我想在一个自定义的ViewGroup里使用scroller实现View的平滑滚动的效果,
但是使用 startScroll(startX, startY, dx, dy, duration)没有发生任何变化。我将此函数修改成scrollBy,用相同的参数,结果证明参数是正确的,
但是我需要平滑滚动的效果。在网上搜了一天,仍然没有找到相关的例子,
DOC上有关Scroller的部分也都看了。
感到相当困扰…请高人指教,谢谢

解决方案 »

  1.   

    LZ的意思是直接给自己的ViewGroup添加Scroller
      XML里面提供了一个属性的android:scrollbars
    直接设置就行了啊
      

  2.   


    我并不是想要添加scrollbar,
    我的目的是在viewGroup里设置一个scroller控制整个view,
    当有需要的时候运行startScroll来实现整个view的左右平移。你还记得几天前我问过你类似的问题么?
    这是我查看launcher代码后找到的解决方法,
    还差这一点点东西就要完成了。
      

  3.   

    写scroll的时候,scrollTo是真正启动滑动的函数,并且在滑动时想要平滑的画,需要将source position到dest position的距离分割成小块(相当于VelocityTracker的效果),然后调用scrollTo。
      

  4.   


    你的解释我理解,但我需要code上的实现。
      

  5.   


    launcher里的workspace class也是用的startScroll方法,然后invalidate。
    理论上我应该跟launcher的设置一模一样,不知道为什么行不通
      

  6.   

    推荐看Gallery控件的源码,使用onScroll和onFling完成平滑的滚动。onScroll处理慢速滑动,onFling时使用线程处理快速滑动。
      

  7.   

    自己解决了这个问题,yyy025025025是正确的,必须在startScroll之后运行computeScroll,在这个方法里调用scrollTo来实现viewGroup的移动。
    谢谢了,唉,可惜当初没能立刻理解你的意思,又花了很多时间在这上面。
      

  8.   

    我的处理方法跟你的类似,在computeScroll中添加scrollTo,只是在调用startScroll后,没有显式调用computeScroll。launcher中并没有在computeScroll中添加scrollTo也可以,估计是因为其可以在computeScroll中设置mScrollX.
      

  9.   

    怎么能控制onFling中的滑动速度,让图片切换更灵敏
      

  10.   

    楼主,我也要做这么个功能,能不能能个demo呀?