当键盘出现时,我的页脚会出现

时间:2016-12-26 05:55:41

标签: android xml android-layout android-softkeyboard

我用一些按钮做了一个简单的页脚,它显示得很好,但我只有一个问题,当键盘是visible时它不应该出现。它应该保持不动并且键盘必须覆盖它。

这是我的布局文件 -

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/scrollView2"
    android:layout_above="@id/footerView">

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:text="Name"
                android:id="@+id/textView40"
                android:layout_weight="2"
                android:paddingLeft="30dp"
                android:textAlignment="gravity"
                android:layout_gravity="center_vertical" />

            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:inputType="textPersonName"
                android:ems="10"
                android:id="@+id/ETNameSU"
                android:hint="Daksh Agrawal"
                android:layout_weight="1"
                android:layout_marginRight="30dp" />

    </LinearLayout>
</ScrollView>

<LinearLayout
    android:id="@+id/footerView"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_alignParentBottom="true"
    android:orientation="horizontal">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/imageView"
        android:src="@drawable/view_books"
        android:layout_weight="1" />

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/imageView2"
        android:layout_weight="1"
        android:src="@drawable/my_profile" />

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/imageView3"
        android:layout_weight="1"
        android:src="@drawable/post_book" />

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/imageView4"
        android:layout_weight="1"
        android:src="@drawable/chat" />

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/imageView5"
        android:layout_weight="1"
        android:src="@drawable/top_donors" />
</LinearLayout>

3 个答案:

答案 0 :(得分:1)

在您的清单活动中添加

    android:windowSoftInputMode="hidden"

答案 1 :(得分:0)

删除 onClick(){ highlightedPosition = getLayoutPostion(); notifyItemChanged(); } onBindView(int position){ if(highlightedPosition == position){ higlightedBackground(); }else{ normalBackground(); }

答案 2 :(得分:0)

交叉你的手指让它自定义 - (经过测试并为我工作!)

OnCreate初始化rootView(XML中的父视图)和footerView

OnCreate调用此方法 - 键盘启动后footerView可见性更改

 public void testKeyBoardUp(){
        rootView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                Rect r = new Rect();
                rootView.getWindowVisibleDisplayFrame(r);
                int heightDiff = rel.getRootView().getHeight() - (r.bottom - r.top);

                if (heightDiff > 100) { // if more than 100 pixels, its probably a keyboard...
                    //ok now we know the keyboard is up...
                    footer.setVisibility(View.INVISIBLE);


                }else{
                    //ok now we know the keyboard is down...
                    footer.setVisibility(View.VISIBLE);


                }
            }
        });
    }

希望你喜欢它