Как ускорить плавную прокрутку в многострочном Edittext для Android?

Вот xml (activity_matches.xml), который отображает вывод на снимке экрана ниже в объекте EditText с именем txaMatches:

<EditText
    android:id=                     "@+id/txaMatches"
    android:text=                   ""

    android:scrollbars=             "vertical"
    android:layout_below=           "@+id/pattern"
    android:textColor=              "@color/yellow_foreground"
    android:textSize=               "@dimen/matches_text"
    android:focusable="false"
    android:inputType="textMultiLine"

    android:layout_width=           "wrap_content"
    android:layout_height=          "wrap_content"
    android:layout_alignParentStart="true"
    android:layout_alignParentEnd=  "true"
    tools:ignore=                   "LabelFor"
    android:typeface="monospace"
    android:focusableInTouchMode="false"
    android:paddingEnd="@dimen/matches_padding"
    android:paddingStart="@dimen/matches_padding"
    />

введите здесь описание изображения

Я хотел бы, чтобы содержимое этого объекта multiline EditText плавно прокручивалось с ускорением, если пользователь прокручивает его внутри.

Вот как я заполняю txaMatches (используя doInBackground). Это единственное место в Java-коде, на которое я ссылаюсь (конечно, я также определяю и инициализирую его в Java):

protected void onProgressUpdate(String... progress)
{
  for (int i = 0; i < progress.length; i++)
    if(progress[i].length() > 1) MatchesActivity.txaMatches.append("\n" + progress[i]);
    else                         MatchesActivity.showLetter("Reading " + progress[i].charAt(0));
}

Легко ли внести изменения в xml?

Должен ли я использовать ListView? Должен ли EditText быть внутри ListView?

Придется ли мне писать код на Java?

Учитывая небольшой объем кода, который я предоставил, я не ожидаю подробностей. Просто обзор того, что для Google было бы хорошим началом.


person DSlomer64    schedule 11.01.2016    source источник
comment
У вас есть некоторые связанные вопросы и ответы, чтобы увидеть: обходной путь java, обходной путь веб-просмотра и, возможно, обходной путь для xml.   -  person fllo    schedule 11.01.2016


Ответы (1)


Довольно просто (благодаря ТРЕТЬЕЙ ссылке Fllo). (Первый не помог; второй фокусируется на Java-коде и классе ScrollView и более сложен, чем третий, который фокусируется на xml и идеально подходит для моей ситуации (и требует только изменения типа txaMatches на TextView):

начало нового кода

<ScrollView
    android:layout_alignParentStart="true"
    android:layout_alignParentEnd=  "true"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

конец нового кода, кроме закрывающего тега

<TextView
    android:id=                     "@+id/txaMatches"
    android:scrollbars=             "vertical"
    android:layout_width=           "wrap_content"
    android:layout_height=          "wrap_content"
    />
</ScrollView>
person DSlomer64    schedule 18.01.2016