Android 在文本视图上设置垂直滚动的滚动条
我试图通过在文本视图上设置一个滚动条来实现一种垂直滚动文本视图。以下代码适用于我的运行Android 2.3的设备,但不适用于运行Android level 15的设备。你知道为什么吗Android 在文本视图上设置垂直滚动的滚动条,android,textview,vertical-scrolling,scroller,Android,Textview,Vertical Scrolling,Scroller,我试图通过在文本视图上设置一个滚动条来实现一种垂直滚动文本视图。以下代码适用于我的运行Android 2.3的设备,但不适用于运行Android level 15的设备。你知道为什么吗 Private TextView tenthsTxt; Private Scroller tenthsScroller; .... tenthsTxt = (TextView)findViewById(R.id.tenths); LinearInterpolator scrollerInterpolator =
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根本不会滚动。可以肯定的是,还使用了与设备像素密度成比例的y位移-结果相同,在Android 4.03设备上没有观察到滚动运动
<ScrollView
android:id="@+id/scrollView"
android:layout_width="300dp"
android:layout_height="100dp"
android:scrollHorizontally="false"
android:ems="10">
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_height="match_parent"/>
</ScrollView>
其中scrollView具有固定的大小,textView的高度与其父视图对齐。您也可以通过编程实现这一点
txtView.setMovementMethod(new ScrollingMovementMethod());
我知道你想要什么。以下是您需要的一个很好的源代码示例: 它包含以下内容: 垂直自动旋转 文本输入 列表视图 ListView侦听器 15+个命令真的很容易添加更多 基本用户界面 伪文件系统 按钮侦听器 还有更多。。。 在此处下载源代码: 如果您想查看它的外观,请查看以下内容:
我不是100%确定你想做什么,你想让这个文本像电影中的字幕一样自动上下滚动吗?谢谢你的回复。这是一个简单的测试,我用来评估TextView垂直滚动59像素内容的能力。此测试在onCreate函数中调用。应用程序稍后使用tenthsScroller.startScroll0,0,0,y,其中y是计算值。应用程序中稍后的测试和对tenthsScroler.startScroll的调用在Android 4.03上没有显示任何滚动,但在Android 2.3上运行良好。回答你的问题,是的,它应该像电影中的信用卡一样滚动,但是滚动应该是即时的,因为我没有设置持续时间;不幸的是,在运行安卓4.03的GalaxyS3上,滚动仍然不起作用,但它在运行安卓2.3的设备上运行