2015-05-07 4 views
2

У меня проблема с клавиатурой. Когда он исчезает, пространство оккупировала остается пустым, а остальная часть макета не регулируетAndroid - пустое место остается, когда клавиатура исчезает

нормальный экран:

enter image description here

с клавиатуры:

enter image description here

клавиатуры отклонил:

enter image description here

Я никогда не видел этого раньше, поэтому я даже не уверен, с чего начать искать. Это происходит в 4.2.2, а также 5.1

Другая важная информация заключается в том, что это пользовательский LinearLayout, который содержит весь контент. Может быть, это как-то связано с этим. При необходимости я могу загрузить любой код.

Это основная оболочка файла макета.

<com.edgetechlabs.app_v2.MasterLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<!-- Menu (Drawer)--> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:visibility="visible" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 
    <ScrollView 
     android:id="@+id/activity_main_menu_listview" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="@color/drawer_background" 
     android:cacheColorHint="#00000000" > 
    </ScrollView> 
</LinearLayout> 
<!-- Fragment Holder --> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 
    <!-- This is where fragment will show up --> 
    <FrameLayout 
     android:id="@+id/fragment_master" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 
    </FrameLayout> 
</LinearLayout> 

Это мой файл манифеста

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name=".MasterActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 
+0

Отправьте свой код. –

+0

Вы слушаете и что-то делаете на открытой/закрытой работе SoftKeyboard? –

+0

Опубликуйте файл манифеста. Если вы используете 'android: windowSoftInputMode =" adjustResize "', это эффект изменения размера макета для всех макетов, но имеет проблему с чем-то полупрозрачным/прозрачным ... – ecle

ответ

2

Я добавил

android:windowSoftInputMode="adjustPan" 

моему манифеста в теге деятельности, и теперь он работает. Мне никогда не приходилось это делать раньше, я полагаю, что мой пользовательский макет каким-то образом возился с клавиатурой.

Спасибо @eee, который указал мне в правильном направлении.

+0

не сработало для меня –

+0

У меня подобная проблема, и эта строка не работала для меня –

+0

@ CanberkÖzçelik прошло некоторое время с тех пор, как я просмотрел этот код, и с тех пор вышли две новые версии Android. Так что с тех пор что-то изменилось. – The4thIceman

 Смежные вопросы

  • Нет связанных вопросов^_^