我有一个文本视图,其中包含单行阿拉伯语(从右到左)文本。文本内容随时间增加,最后(最左侧)部分应始终出现。水平滚动条最初设置为向右,并随着文本的增加自动向左滚动。
以下代码在 2.3 Android 手机上运行良好。这来自 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" />
我在 Activity 的 onCreate() 方法中有这个
tv = (TextView) findViewById(R.id.textView1);
tv.setMovementMethod(new ScrollingMovementMethod());
问题是具有 android 4.0+ 的手机上的文本视图行为不一致。水平滚动条最初没有放在右边,所以 TextView 最初是空白的!如果我尝试滚动空白 textView,则会显示文本。添加额外文本时,滚动条不会滚动以显示新文本,但如果我手动滚动文本,它会出现。
我搜索了stackoverflow,并尝试添加以下属性但没有成功。
android:focusable="true"
android:focusableInTouchMode="true"