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 はまったくスクロールしません。確かに、デバイスの pixelDensity にスケーリングされた y 変位も使用されました。結果は同じで、Android 4.03 デバイスではスクロールの動きは観察されませんでした。