在具有大量文本行和样式的EditText中启用2D滚动

时间:2012-01-22 17:39:21

标签: android android-layout scroll html

我正在尝试创建一个大的多行EditText,可以在2d模式下滚动(例如android浏览器),没有自动换行,并且可以填充整个活动。这个edittext'包含大量的文本行(甚至+ 3000以上),并且会有一些不同样式的跨度,例如字体颜色,背景颜色ecc ...在运行时确定。 我尝试使用以下代码定义布局:

<EditText
    android:id="@+id/editText1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scrollbars="vertical|horizontal"
    android:scrollHorizontally="true"
    android:singleLine="false"
    android:inputType="textMultiLine" >
    <requestFocus />
</EditText> 

结果是一个带有垂直滚动的大型多行EditText ...但是没有启用水平滚动...并且自动换行仍处于活动状态。我怎样才能实现这一目标?我还注意到,对于长文本和一些跨度样式,垂直滚动变得非常慢。我怎样才能使它更流畅?我在acer iconia a500上做了我所有的测试,这是一个很好的设备......

非常感谢您的支持,对不起我的英语!!

1 个答案:

答案 0 :(得分:2)

我只是通过以这种方式绘制嵌套在ScrollView中的Horizo​​ntalScrollView来部分地解决了我的问题,但是我仍然有样式跨度的慢滚动问题。

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
        <HorizontalScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent" >
                    <EditText
                        android:id="@+id/editText1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:inputType="textMultiLine"
                        android:scrollHorizontally="true"
                        android:scrollbars="vertical|horizontal"
                        android:singleLine="false" 
                        android:background="@color/White"/>
         </HorizontalScrollView>
</ScrollView>