我使用了滚动条进行自动滚动,但即使文本结束也会继续滚动。我想找到位置并想要自动停止滚动,因此在文本滚动文本结束期间,文本会到达其初始位置。我怎么能这样做?
用于自动滚动的代码是:
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);
}
答案 0 :(得分:1)
尼克
您需要检查源代码here。
再次文本必须首先出现 位置
此用途scrollTo(0, 0);
我想找到位置
使用scroll.getCurrX();
想要自动停止滚动
使用scroll.abortAnimation();
&安培;你做完了!:)
编辑:
Nikki,我编写了一个派生自Android.Widget.TextView
的类来自定义TextView,其中文本可以滚动直到文本结束。完成文本后返回初始位置。您需要做的就是创建定义类here&只需覆盖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
}
}
答案 1 :(得分:0)
你的问题激励我写博客,因为几天前我遇到过类似的问题: http://b.ivity.asia/2010/12/01/extended-marquee-in-android/
我想使用非常自定义的Marquee效果,这个类应该能够为你完成这项工作。