Программируемая клавиатура Android покрывает поле EditText

Существует ли способ сделать экранную прокрутку, чтобы позволить текстовому полю быть замеченным?

156
задан 0xCursor 14 November 2019 в 16:06
поделиться

3 ответа

Вы спрашиваете, как управлять тем, что видно при открытии мягкой клавиатуры? Возможно, вы захотите поиграть с windowSoftInputMode. Более подробное обсуждение см. в документации для разработчиков.

160
ответ дан 23 November 2019 в 21:48
поделиться

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

4
ответ дан 23 November 2019 в 21:48
поделиться

Почему бы не попробовать добавить ScrollView, чтобы обернуть все, что вы хотите прокрутить. Вот как я это сделал: на самом деле я оставляю сверху заголовок, который не прокручивается, а виджеты диалогов (в частности, EditTexts) прокручиваются, когда вы открываете программную клавиатуру.

<LinearLayout android:id="@+id/HeaderLayout" >
  <!-- Here add a header or whatever will not be scrolled. -->
</LinearLayout>
<ScrollView android:id="@+id/MainForm" >
  <!-- Here add your edittexts or whatever will scroll. -->
</ScrollView>

Обычно у меня внутри ScrollView есть LinearLayout, но это зависит от вас. Кроме того, установка стиля полосы прокрутки на externalInset помогает, по крайней мере, на моих устройствах.

25
ответ дан 23 November 2019 в 21:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: