【问题标题】:how to implement Scroller in textview for auto scrolling?如何在 textview 中实现 Scroll 以实现自动滚动?
【发布时间】:2012-02-10 20:44:46
【问题描述】:

我使用滚动器进行自动滚动,但即使文本结束,它也会继续滚动。我想找到该位置并希望自动停止滚动,以便在文本滚动文本结束时文本到达其初始位置。我该怎么做?

用于自动滚动的代码是:

public void Scroll()
{
    //text = (TextView) findViewById(R.id.TxtView);
    length = text.getLineCount();
    scroll.computeScrollOffset();
    text.setScroller(scroll);
    int a = text.getBottom();
    int b = text.getTop();
    //scroll.extendDuration(scroll.getFinalY());
    scroll.startScroll(scroll_x, scroll_y, 0, a, (500000)/ speedAmount);    
}

【问题讨论】:

    标签: android scroll


    【解决方案1】:

    尼基

    需要查看源代码here

    再次,文本必须回到其初始状态 位置

    为此使用scrollTo(0, 0);

    我要找位置

    使用scroll.getCurrX();

    想要自动停止滚动

    使用scroll.abortAnimation();

    &你完成了!:)

    已编辑:

    Nikki,我写了一个派生自Android.Widget.TextView 的类来自定义一个TextView,在该视图中可以滚动文本直到文本完成& 完成后文本回到初始位置。您需要做的就是创建定义的自定义类@ 987654322@ & 只需覆盖computeScroll () 如下

    public void computeScroll() {
    super.computeScroll();
    
    if (null == mSlr) return;
    
    if (mSlr.isFinished() && (!mPaused)) {
    scrollTo(0, 0);//scroll to initial position or whatever position you want it to scroll 
    }
    }
    

    【讨论】:

    • @Nikki 你的意思是只滚动一次吗?您可以使用 scroll.isFinished() 检查滚动文本是否完成,然后使用 scroll.abortAnimation() 。我希望我帮助你的方向是正确的。
    • @Nikki 我实现了代码,它对我有用。让我重新表述你的问题陈述:你想要一个滚动到文本结尾并停止滚动的文本视图,然后在初始时向你显示文本位置。
    • 你是在startscroll()之后使用isfinished()还是在其他地方使用isfinished()在startscroll()之后不起作用
    • mPaused 变量是什么意思
    • @Nikki 你没有实现链接bear-polka.blogspot.com/2009/01/… 的代码是在那里定义的
    【解决方案2】:

    您的问题启发了我写博客,因为几天前我遇到了类似的问题: http://b.ivity.asia/2010/12/01/extended-marquee-in-android/

    我想使用一个非常自定义的 Marquee 效果,这个类应该可以为你完成这项工作。

    【讨论】:

    • 但我想添加垂直滚动
    猜你喜欢
    • 1970-01-01
    • 2021-11-13
    • 2011-02-26
    • 2011-03-13
    • 2020-12-10
    • 1970-01-01
    • 2014-06-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多