Существует ли способ сделать экранную прокрутку, чтобы позволить текстовому полю быть замеченным?
Вы спрашиваете, как управлять тем, что видно при открытии мягкой клавиатуры? Возможно, вы захотите поиграть с windowSoftInputMode. Более подробное обсуждение см. в документации для разработчиков.
Я считаю, что вы можете заставить его прокручиваться с помощью трекбола, что в конечном итоге может быть достигнуто программно с помощью методов выбора, но это всего лишь идея. Я знаю, что метод трекбола обычно работает, но насчет точного способа сделать это и заставить его работать из кода я не уверен.
Надеюсь, это поможет.
Почему бы не попробовать добавить 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 помогает, по крайней мере, на моих устройствах.