我想通过在其上设置滚动条来实现一种垂直滚动TextView。以下代码适用于运行Android 2.3的设备,但不适用于运行Android 15级设备。任何想法为什么?在TextView上设置滚动条以进行垂直滚动
Private TextView tenthsTxt;
Private Scroller tenthsScroller;
....
tenthsTxt = (TextView)findViewById(R.id.tenths);
LinearInterpolator scrollerInterpolator = new LinearInterpolator();
tenthsScroller = new Scroller(this, scrollerInterpolator);
tenthsTxt.setScroller(tenthsScroller);
tenthsScroller.startScroll(0,0,0, 59);
tenthsTxt.invalidate();
....
为TextView的中的XML看起来是这样的:
<TextView
android:id="@+id/tenths"
android:background="@drawable/tenths_digit_holder"
android:text="0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n0"
android:textSize="25dp"
android:gravity="center"
android:paddingTop="5dp"
android:paddingBottom= "5dp"
android:layout_width = "30dp"
android:textStyle="normal"
android:layout_height="43dp"
android:textColor="#ffff0000" />
在Android 2.3 TextView的垂直滚动通过正确的金额。在运行4.03的Android设备上,TextView根本不滚动。可以肯定的是,还使用了缩放到pixelDensity设备的y位移 - 结果与在Android 4.03设备上没有观察到滚动移动相同。
我不是100%肯定你正在尝试做的,你想这个文本自动滚动向上/向下像在电影中得分? – 2013-03-23 00:10:41
感谢您的回复。这是一个简单的测试,我用它来评估TextView垂直滚动其内容59个像素的能力。这个测试在onCreate()函数中调用。该应用程序稍后使用tenthsScroller.startScroll(0,0,0,y),其中y是一个计算值。测试和稍后在应用程序中对tenthsScroler.startScroll的调用不显示Android 4.03上的任何滚动,但在Android 2.3上正常工作。在回答你的问题时,是的,它应该像电影中的信用一样滚动,但由于我没有设置持续时间,所以滚动应该是瞬间的。 – user1608385 2013-03-23 00:29:18