1

我正在尝试通过在其上设置 Scroller 来实现一种垂直滚动的 TextView。以下代码适用于我运行 Android 2.3 的设备,但不适用于运行 Android 级别 15 的设备。任何想法为什么?

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 设备上没有观察到滚动运动。

4

3 回答 3

0
<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 的高度与它们的父级对齐。

于 2013-03-23T11:22:50.853 回答
0

我知道你想要什么。这是您需要的一个很好的源代码示例:

它包含以下内容:

垂直自动滚动文本条目 ListView ListView 侦听器 15+ 命令(真的很容易添加更多) 基本用户界面 假文件系统按钮侦听器等等... 在此处下载源代码:

http://www.fileswap.com/dl/0L8nU0kSFD/

如果你想看看它是什么样子的,请看这里:

https://play.google.com/store/apps/details?id=com.coGame.consoletest&hl=en

于 2013-12-12T04:01:51.350 回答
0

你也可以通过编程来做到这一点

    txtView.setMovementMethod(new  ScrollingMovementMethod());
于 2013-03-23T11:29:39.000 回答