アラビア語(右から左)のテキストが1行のテキストビューがあります。テキストの内容は時間とともに増加し、最後の(左端の)部分が常に表示されます。水平スクロールバーは最初は右に設定されており、テキストが増えると自動で左にスクロールします。
以下のコードは、2.3Androidフォンでうまく機能します。これはlayout.xmlから来ています
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="none"
android:fadingEdge="horizontal"
android:gravity="right"
android:scrollHorizontally="true"
android:scrollbars="horizontal"
android:singleLine="true"
android:text="@string/txt_start"
android:textAppearance="?android:attr/textAppearanceLarge" />
これは、アクティビティのonCreate()メソッドにあります
tv = (TextView) findViewById(R.id.textView1);
tv.setMovementMethod(new ScrollingMovementMethod());
問題は、Android4.0以降を搭載した携帯電話でのテキストビューの動作に一貫性がないことです。水平スクロールバーは最初は右側に配置されていないため、TextViewは最初は空白になっています。空白のtextViewをスクロールしようとすると、テキストが表示されます。追加のテキストを追加すると、スクロールバーはスクロールされて新しいテキストが表示されませんが、手動でテキストをスクロールすると表示されます。
stackoverflowを検索しましたが、以下のプロパティを追加しようとしましたが成功しませんでした。
android:focusable="true"
android:focusableInTouchMode="true"