Включить 2D-прокрутку в EditText с большим количеством текстовых линий и стилей - PullRequest
2 голосов
/ 22 января 2012

Я пытаюсь создать большой многострочный EditText, прокручиваемый в 2d режиме (например, в браузере Android), без переноса слов, который заполняет всю активность. Этот текст редактирования будет содержать большое количество строк текста (даже + 3000), и будет некоторый промежуток с различными стилями, такими как цвет шрифта, цвет фона и т. Д., Определяемый во время выполнения. Я попытался определить макет с помощью кода ниже:

<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 Ответ

2 голосов
/ 25 января 2012

Я частично решил свою проблему, просто нарисовав HorizontalScrollView, вложенный в ScrollView, таким образом, но у меня все еще есть проблема медленной прокрутки со стилизованными пролетами.

<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>
...