#android #android-layout
#Android #android-макет
Вопрос:
Я использовал приложение hello world и добавил к нему поле редактирования текста, которое я хотел сохранить внизу. Вот мой activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@ id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.sarang.hellotext.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
<EditText
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:hint="Type Anything"
android:layout_alignParentBottom="true"
/>
</RelativeLayout>
Активность выглядит нормально, когда программная клавиатура скрыта.
Однако он полностью увеличивается, когда видна программная клавиатура (даже строка заголовка).
Снимок с программной клавиатурой и без нее
Есть ли способ избежать этого? Я бы хотел, чтобы поле EditText перемещалось вверх, но строка заголовка и текстовое представление по-прежнему должны быть видны вверху.
Кроме того, когда я удалил android:layout_alignParentBottom=»true» для EditText, заголовок и текстовое представление сохраняют свое место независимо от клавиатуры. Я не могу понять, почему?
Комментарии:
1. Опубликуйте свой полный XML
Ответ №1:
Попробуйте добавить в свой манифестный файл под тегом activity
android:windowSoftInputMode="adjustPan"
и если это не сработает, то
android:windowSoftInputMode="adjustResize"
Комментарии:
1. Я уже пробовал оба варианта, к сожалению, поведение остается прежним.
Ответ №2:
Я думаю, что добавление android:windowSoftInputMode="adjustResize"
к вашей активности вполне может это сделать. То есть в AndroidManifest.XML-файл, поместите указанную выше строку внутри <activity>
вашего приложения. Я не уверен, почему в вашем вопросе сейчас указано -1 (но я здесь новичок.) Конечно, вопрос не дает больших идей, но, по крайней мере, ясно, о чем вы спрашиваете, и каждый должен с чего-то начинать. В вашем случае (ну, на самом деле все) читают документацию. Конкретно для вас прочитайте «Обработка видимости метода ввода«, в частности, бит «Укажите, как должен реагировать ваш пользовательский интерфейс».
(Ах, я вижу, кто-то дал подобный совет, пока я печатал… Извините за повторение,)
Комментарии:
1. Спасибо за подробный ответ. Однако я уже потратил много времени на настройку / изменение размера и не смог заставить его работать. Подозреваю что-то в макете.
2. Хм, извините за это, кажется, я помню, что это помогает… Попробуйте обернуть это в
scrollView
возможно? Честно говоря, я не слишком разбираюсь в использовании макетов (ну, это меня раздражает), К сожалению, мощный подразумевает сложный.