1

图片说明我正在使用 recyclerview 和一个用于在 recyclerview 中过滤的 EditText。我使用了 adjustpan 在软键盘上查看 Edittext。当键盘打开时,我的 recyclerview 上升并将第一行几乎削减了一半。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/relativemain"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical"
                android:background="#fff">
    <ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerHorizontal="true"
        android:scaleType="fitXY"
        android:layout_below="@+id/include"
        android:layout_marginTop="-20dp"/>

    <include
        android:id="@+id/include2"
        layout="@layout/setting_header"/>

    <include
        android:id="@+id/notifyBlue"
        layout="@layout/notify_bluetooth"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/include"
        android:layout_alignParentTop="true"/>

    <include
        android:id="@+id/include"
        layout="@layout/header"
        android:visibility="visible"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/include2"/>

    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="false"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="false"
        android:id="@+id/recycleView"
        android:visibility="visible"
        android:layout_above="@+id/etSearch"
        android:padding="5dp"
        android:layout_below="@+id/include" />

    <ImageView
        android:id="@+id/imgbackbutton"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_marginRight="15dp"
        android:background="@drawable/circle_purpleforbutton"
        android:paddingBottom="5dp"
        android:paddingLeft="5dp"
        android:paddingRight="4dp"
        android:paddingTop="5dp"
        android:src="@drawable/menu_button"
        android:layout_above="@+id/etSearch"
        android:layout_marginBottom="20dp" />

    <include
        android:id="@+id/rlFooter"
        layout="@layout/footer"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"/>

    <ProgressBar
        android:id="@+id/pBarMain"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:visibility="gone"/>

    <com.StampWallet.customClasses.FocusClearingEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/etSearch"
        android:layout_above="@+id/rlFooter"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:hint="type to search a store"
        android:inputType="text"
        android:gravity="center_horizontal"
        android:background="@android:color/white"
        android:paddingLeft="10dp"
        android:paddingTop="10dp"
        android:paddingRight="10dp"
        android:paddingBottom="10dp"
        android:textColor="#000"
        android:visibility="gone" />
</RelativeLayout>

有什么帮助吗?

4

3 回答 3

1

我找到了解决方案。我为解决这个问题所做的工作.. 我已android:windowSoftInputMode="adjustResize"在 Manifest 中添加了活动。

并在软键盘打开和关闭时隐藏和显示我的标题和用户信息视图......

我用于搜索的 EditText 侦听器

etSearch.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View view, boolean b) {
                if (b) {
                    if (include != null)
                        include.setVisibility(View.GONE);
                    if (include2 != null)
                        include2.setVisibility(View.GONE);
                    if (notifyView != null)
                        notifyView.setVisibility(View.GONE);
                } else {
                    if (include != null)
                        include.setVisibility(View.VISIBLE);
                    if (include2 != null)
                        include2.setVisibility(View.VISIBLE);
                }
            }
        });

这解决了我的问题

于 2017-03-23T06:09:04.893 回答
0

将此属性添加到您的 AndroidManifest.xml 文件中。这将解决您的问题。

<activity
        android:name=".YourActivityName"
        android:windowSoftInputMode="adjustPan" />
于 2016-07-26T05:52:50.707 回答
0

在清单中添加“adjustresize”将解决问题

android:windowSoftInputMode="adjustResize"

于 2016-07-26T05:47:49.157 回答