浮动按钮需要隐藏在键盘上方

时间:2018-07-12 10:33:20

标签: android

我有一个自定义的浮动按钮。它工作正常。我也有一些editText字段。我的问题是每当我输入文本时,浮动按钮就会出现在键盘上方。如何隐藏它?即:当我输入文字时,浮动按钮应该不可见。

我的布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.te.thm.se.Insert"
    android:background="@drawable/primary_gradient">
    <com.wang.avi.AVLoadingIndicatorView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:indicatorName="BallScaleMultipleIndicator"
        android:layout_gravity="center"
        app:indicatorColor="@android:color/white"
        android:id="@+id/loading_indicator"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:layout_marginBottom="20dp"
        />
    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/scrollView">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">
    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="3dp"
        android:layout_marginRight="3dp"
        app:cardCornerRadius="4dp"
        app:cardElevation="1dp"
        app:cardMaxElevation="0dp"
        app:cardUseCompatPadding="true"
        android:animateLayoutChanges="true"
        android:id="@+id/header_card"
        android:layout_marginTop="5dp">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:paddingTop="5dp"
            android:paddingBottom="5dp">
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:padding="5dp">
                <TextView
                    android:id="@+id/requisition_no"
                    android:layout_width="140dp"
                    android:layout_height="wrap_content"
                    android:padding="1dp"
                    android:text="@string/requisition_no_label"
                    android:textColor="@color/primary_text"
                    android:textSize="14sp" />
                <TextView
                    android:id="@+id/requisition_no_value"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:padding="1dp"
                    android:text="@string/autogenerated"
                    android:textColor="@color/secondary_text"
                    android:textSize="14sp" />
                </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:padding="5dp">
                <TextView
                    android:id="@+id/title"
                    android:layout_width="140dp"
                    android:layout_height="wrap_content"
                    android:padding="1dp"
                    android:text="@string/title_label"
                    android:textColor="@color/primary_text"
                    android:textSize="14sp" />

                <EditText
                    android:id="@+id/title_value"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:ems="10"
                    android:inputType="textPersonName"
                    android:textColor="@color/primary_text"
                    android:textSize="14sp"/>


            </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:padding="5dp">
        <TextView
            android:layout_width="140dp"
            android:layout_height="wrap_content"
            android:textSize="14sp"
            android:text="@string/date_label"
            android:id="@+id/date"
            android:padding="1dp"
            android:textColor="@color/primary_text"/>
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="14sp"
            android:text="00-00-0000"
            android:id="@+id/date_value"
            android:padding="1dp"
            android:textColor="@color/colorAccent"
            android:onClick="getDates"/>
        </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:padding="5dp">
        <TextView
            android:layout_width="140dp"
            android:layout_height="wrap_content"
            android:textSize="14sp"
            android:text="@string/company_name_label"
            android:id="@+id/company_name"
            android:padding="1dp"
            android:textColor="@color/primary_text"/>


        <com.toptoche.searchablespinnerlibrary.SearchableSpinner
            android:id="@+id/company_name_value"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
        <!--<Spinner-->
            <!--android:layout_width="match_parent"-->
            <!--android:layout_height="wrap_content"-->
            <!--android:id="@+id/company_name_value"/>-->
        </LinearLayout>
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:padding="5dp">
                <TextView
                    android:layout_width="140dp"
                    android:layout_height="wrap_content"
                    android:textSize="14sp"
                    android:text="@string/employee_name_label"
                    android:id="@+id/Employee_name"
                    android:padding="1dp"
                    android:textColor="@color/primary_text"/>

                <com.toptoche.searchablespinnerlibrary.SearchableSpinner
                    android:id="@+id/employee_name_value"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />
                <!--<Spinner-->
                <!--android:layout_width="match_parent"-->
                <!--android:layout_height="wrap_content"-->
                <!--android:id="@+id/employee_name_value"/>-->
            </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:padding="5dp">
        <TextView
            android:layout_width="140dp"
            android:layout_height="wrap_content"
            android:text="@string/requisition_status_label"
            android:textColor="@color/primary_text"
            android:textSize="14sp"
            android:padding="1dp"
            android:id="@+id/status"/>
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/open"
            android:textColor="@color/secondary_text"
            android:textSize="14sp"
            android:padding="1dp"
            android:id="@+id/status_value"/>
        </LinearLayout>
            <com.unstoppable.submitbuttonview.SubmitButton
                android:layout_marginRight="10dp"
                android:layout_marginLeft="10dp"
                android:layout_gravity="end"
                android:id="@+id/approve_button"
                android:layout_width="90dp"
                android:layout_height="30dp"
                android:padding="5dp"
                android:layout_marginTop="8dp"
                android:onClick="submitRequisition"
                app:buttonColor="@color/colorAccent"
                app:buttonText="Submit"
                app:buttonTextSize="15sp"/>
</LinearLayout>
    </android.support.v7.widget.CardView>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/requisition_detail_list"
            android:orientation="vertical"
            android:animateLayoutChanges="true">
        </LinearLayout>
        </LinearLayout>
    </ScrollView>


    <com.robertlevonyan.views.customfloatingactionbutton.FloatingActionButton
        android:id="@+id/custom_fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:fabType="roundedSquare"
        app:fabText="SAVE"
    android:layout_gravity="bottom|center"
    android:layout_margin="16dp"
    android:layout_alignParentBottom="true"
    android:layout_centerInParent="true">

    </com.robertlevonyan.views.customfloatingactionbutton.FloatingActionButton>


</RelativeLayout>

编辑

我添加了android:windowSoftInputMode="adjustNothing"

但是它也会隐藏editText字段

4 个答案:

答案 0 :(得分:1)

  

我去了一个图书馆,您可以从中找到   键盘。而且我已经处理了浮动操作按钮的可见性   键盘是否可见。

     

在app.gradle文件中添加依赖项

实现'net.yslibrary.keyboardvisibilityevent:keyboardvisibilityevent:2.1.0'

  

在Activity onCreateMethod()中添加以下代码

KeyboardVisibilityEvent.setEventListener(
                this,
                new KeyboardVisibilityEventListener() {
                    @Override
                    public void onVisibilityChanged(boolean isOpen) {
                       if(isOpen)
                       {
                           custom_fab.setVisibility(View.GONE);
                       }
                       else
                       {
                           custom_fab.setVisibility(View.VISIBLE);
                       }
                    }
                });

答案 1 :(得分:0)

将其设为错误。像这样

relu

答案 2 :(得分:0)

在您的Android.manifest文件活动中

android:fitsSystemWindows="false"android:fitsSystemWindows="true"

并放入android:windowSoftInputMode="adjustNothing"

答案 3 :(得分:0)

从FloatingActionButton移除重力

"