Intereting Posts
Как рисовать TextView на холсте в android ..? Android: показать / скрыть строку состояния / панель питания Почему LayoutInflater игнорирует параметры макета layout_width и layout_height, которые я указал? Bootstrap – Невозможно щелкнуть выпадающие дочерние пункты меню на мобильном устройстве и сначала не запускать навигационное крах Android – Moto G mobile не отображается в устройствах Список Eclipse Высота строки состояния в Android WakeLock финализировалась, хотя все еще была ошибка, хотя я ее выпускаю Android для навигации по активности с несколькими родителями Почему приложение на Android не должно быть написано на C / C ++, потому что вы просто предпочитаете программировать на C / C ++? Ускорение системы координат устройства в абсолютную систему координат Добавление сервисов Google Play в Android Studio с использованием Gradle Как создать пустой конструктор для класса данных в Kotlin Android Объединение ячеек в Excel с использованием Apache POI Как удалить черный фон между началом нового действия во время анимации slide_left? FragmentManager уже выполняет транзакции. Когда безопасно инициализировать пейджер после фиксации?

Как сделать вид андроида прокручиваемым при появлении клавиатуры?

У меня есть представление с некоторыми полями (имя, адрес электронной почты, пароль, кнопка регистрации):

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ViewFlipper android:id="@+id/viewflipper" android:layout_width="fill_parent" android:layout_height="wrap_content" > //Layouts </ViewFlipper> </ScrollView> 

Когда я фокусирую поле edittext, клавиатура появляется и накладывает нижние поля на представление. Поэтому я не вижу их, когда клавиатура присутствует. Я хотел бы знать, как сделать просмотр прокручиваемым, чтобы я мог видеть нижние поля. Кроме того, как сделать просмотр прокрутки автоматически, чтобы сделать сфокусированное поле видимым.

Solutions Collecting From Web of "Как сделать вид андроида прокручиваемым при появлении клавиатуры?"

Вам необходимо включить android:windowSoftInputMode="adjustResize" для вашей активности в файле AndroidManifest.xml, а затем Android должен автоматически android:windowSoftInputMode="adjustResize" :

 <activity android:name="..." ... android:windowSoftInputMode="adjustResize"> ... /> 

Я создал простой XML-файл, надеюсь, это то, что вы ищете.

Шаг 1 . Вы можете прокручивать, когда появится клавиатура.

Шаг 2 . Когда вы нажмете на Text-Field, он появится на клавиатуре Focus / above.

 <ScrollView android:id="@+id/ScrollView01" xmlns:android="http://schemas.android.com/apk/res/android" android:fillViewport="true" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:weightSum="1.0" android:layout_height="match_parent" android:focusable="true" android:focusableInTouchMode="true" android:id="@+id/l_layout"> <EditText android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/editText1" android:layout_marginTop="100dp"> <requestFocus></requestFocus> </EditText> <EditText android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/editText2" android:layout_marginTop="100dp"> </EditText> </LinearLayout> </ScrollView> 

Вы пробовали это:

 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ViewFlipper android:id="@+id/viewflipper" android:layout_width="fill_parent" android:layout_height="wrap_content" > <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/scroll_container"> //Layouts </ScrollView> </ViewFlipper> 

В моем случае решение @Aleks G не работало. Поэтому я решил проблему с

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" > <ScrollView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/registration_scroll_view" android:layout_alignParentTop="true" android:layout_above="@+id/btn_register_submit" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:orientation="vertical"> <!--This comment will be replaced by your focusable views--> </LinearLayout> </ScrollView> <Button android:id="@+id/btn_register_submit" android:layout_width="match_parent" android:layout_height="50dp" android:layout_alignParentBottom="true" android:background="@drawable/form_action_button_green" android:gravity="center" android:text="@string/submit" /> </RelativeLayout>