2015-12-05 2 views
0

У меня эта проблема довольно долгое время, но пока я ее не нашел.Работа с мягкой клавиатурой и взвешенными изображениями

<?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

Что можно сделать для решения этой проблемы?

+1

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

+0

Спасибо. Отправьте это как ответ, чтобы я мог его принять. – jammaster

ответ

0

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