【问题标题】:ScrollView autoscrollingScrollView 自动滚动
【发布时间】:2017-03-09 06:33:41
【问题描述】:

首先让我原谅这个问题,我知道很多人在这里问过这个问题,但是我太笨了,没有找到适合我的正确答案。我里面有一个 ScrollView 和许多 TextViews 和 ImageViews。我想像电影演职员表一样在屏幕上滚动所有这些内容。我找到了这个方法。它可以工作,但只持续几秒钟然后停止。:

            public void scrollRight(final ScrollView h){
    new CountDownTimer(2000, 1) { 

        public void onTick(long millisUntilFinished) { 
            h.scrollTo(0,(int) (2000-millisUntilFinished)/25);

        } 

        public void onFinish() { 

        } 
     }.start(); }

【问题讨论】:

    标签: android scrollview


    【解决方案1】:

    您可以使用滚动条来创建平滑的滚动动画。 这里有一个例子: Android: Scroller Animation?

    基本上,您需要做的就是从 0 开始滚动到列表的末尾,并使用滚动值调用列表的 scrollTo。

    另一种选择是创建一个每次调用 scrollBy 的计时器。

    编辑:另外,您创建 CountDownTimer 的方式会导致它运行 2000 毫秒,并且每 1 毫秒调用一次 onTick。如果您希望它运行更长时间,只需增加总时间即可。我还建议使用更大的间隔 - 1 毫秒对于显示目的来说太频繁了。试试这个:

    new CountDownTimer(10000, 25) { 
         public void onTick(long millisUntilFinished) { 
         h.scrollBy(1,0);
    }
    

    【讨论】:

      【解决方案2】:

      你也可以使用 ObjectAnimator 来实现:

      ObjectAnimator.ofInt(view, "scrollY", 0, view.getBottom).setDuration(1000).start;

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-25
        • 2011-09-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-26
        相关资源
        最近更新 更多