我正在尝试通过在其上设置 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 设备上没有观察到滚动运动。