软键盘推送NavigationView的headerLayout

时间:2017-04-24 12:36:29

标签: android

当对EditText进行对焦并且软键盘打开时,它会在我的headerLayout版面中推送NavigationView(参见屏幕截图)。 我假设它与android:fitsSystemWindows="true" RelativeLayout nav_header_navigation.xml中的android:fitsSystemWindows="true"有关。如果我删除它,内容不会被推高,但它不像以前那样正确地适合屏幕。 有什么方法可以解决这个问题吗?

  • 第1个截图:关闭键盘,带 android:fitsSystemWindows="true"
  • 第二个屏幕截图:已打开的键盘,android:fitsSystemWindows="true"
  • 第3个屏幕截图:已打开的键盘,没有<!-- activity.xml --> <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:openDrawer="start"> <LinearLayout ../> <android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" android:fitsSystemWindows="true" app:itemTextColor="@color/navigation" app:itemIconTint="@color/navigation" app:app="@layout/nav_header_navigation" app:menu="@menu/navigation_drawer" /> </android.support.v4.widget.DrawerLayout> <!-- nav_header_navigation.xml --> <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="@dimen/nav_header_height" android:fitsSystemWindows="true" android:theme="@style/ThemeOverlay.AppCompat.Dark"> <ImageView android:id="@+id/nav_header_navigation_avatar" android:scaleType="centerCrop" android:layout_width="match_parent" android:layout_height="match_parent" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="@dimen/margin_big" android:layout_marginTop="@dimen/margin_big" android:src="@drawable/ic_edit_white_24dp" android:layout_alignParentRight="true"/> <LinearLayout .../> </RelativeLayout>

代码:

palette

enter image description here enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

来自documentation

  

<强>机器人:windowSoftInputMode   如何活动的主窗口   与包含屏幕软键盘的窗口交互。该   此属性的设置会影响两件事:软件的状态   键盘 - 无论是隐藏还是可见 - 当活动变为时   用户关注的焦点。对活动的调整   主窗口 - 是否调整较小以便为软件腾出空间   键盘或其内容是否平移以使当前焦点可见   当部分窗口被软键盘覆盖时。