键盘出现时为什么RecyclerView项目被破坏了?

时间:2018-06-18 06:10:34

标签: android

我有以下布局结构:

NestedScrollView
   ConstrainstsLayout
      SearchView
      RecyclerView
      RecyclerView

当我点击SearchView时,会出现键盘,底部RecyclerView的项目会变大。无法一起查看RecyclerView项。由于它们的高度,它们只是逐个显示,在显示键盘后变得更大。那么,如何解决问题呢?这是布局。

<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

<data>

    <variable
        name="viewModel"
        type="tech.nplus.yaptk.ui.payment.PaymentViewModel" />

</data>


<android.support.v4.widget.NestedScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.constraint.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.v7.widget.SearchView
            android:id="@+id/searchView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            app:iconifiedByDefault="false"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:queryHint="@string/find_service"

            />

        <android.support.v7.widget.RecyclerView
            android:id="@+id/fast_payment_rv"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="16dp"
            android:layout_marginTop="10dp"
            android:orientation="horizontal"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/searchView" />

        <android.support.v7.widget.RecyclerView
            android:id="@+id/service_list_parent_rv"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:scrollbars="vertical"
            app:items="@{viewModel.items}"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/fast_payment_rv"

            />

    </android.support.constraint.ConstraintLayout>
</android.support.v4.widget.NestedScrollView>

这是3个屏幕。图1显示键盘出现之前,2显示之后(注意元素消失),3显示元素如何变大。 enter image description here enter image description here enter image description here

P.S。我放android:windowSoftInputMode="adjustPan",否则我的BottomNavigationView会出现在键盘上方。

0 个答案:

没有答案