У меня эта проблема довольно долгое время, но пока я ее не нашел.Работа с мягкой клавиатурой и взвешенными изображениями
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<include
layout="@android:layout/list_content"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="10"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:minHeight="@dimen/message_et_min_height"
android:background="@color/primaryColor"
android:orientation="horizontal">
<EditText
android:id="@+id/message_edit"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="10" />
<ImageButton
android:id="@+id/send_message_button"
android:layout_width="@dimen/send_button_size"
android:layout_height="@dimen/send_button_size"
android:layout_weight="1"
android:layout_gravity="center"
android:background="@null"
android:src="@mipmap/ic_send_black_24dp"/>
</LinearLayout>
</LinearLayout>
Я использую layout_weight
размера моих взглядов. Однако это создает проблему, когда открыта мягкая клавиатура, потому что она изменяет размер экрана, а некоторые из моих представлений слишком сильно сжаты из-за параметра веса (screenshots). Я попытался регулировать параметр android:windowSoftInputMode
в моем манифесте и результаты:
- adjustPan: The
ListView
, который является частью моего макета Buggs, выполненной на старых устройствах, показывая только частьListView
- adjustNothing: Полностью скрывает ввод текста часть макета
- adjustResize: выжимает некоторая часть макета (видно на скриншоте)
- adjustUnspecified: То же, что adjustResize
Что можно сделать для решения этой проблемы?
Я думаю, что взвешенный вид в вашем случае не требуется. Вы можете использовать относительный макет, и это легко. и я думаю, что ваша проблема будет решена. – USKMobility
Спасибо. Отправьте это как ответ, чтобы я мог его принять. – jammaster