按钮没有隐藏显示键盘

时间:2015-08-21 21:43:51

标签: android button keyboard scrollview android-linearlayout

我在屏幕底部对齐按钮时遇到问题,此按钮始终保持在该位置,并且我有一个填充屏幕的scrollView。 scrollView有EditText,问题是当我按下EditText时,自动必须移动EditText并放在键盘上,但在这种情况下,底部的按钮放在键盘上

这是当前显示的方式

as shown

这是你应该如何显示EditText应该放在键盘上方以便顺利写入,并且不应该显示按钮

as it should be shown

这是我的布局

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:fillViewport="true"
    tools:context=".MainActivity">

    <ScrollView
        android:id="@+id/scroll"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fillViewport="true"
        android:layout_weight="1">

        <LinearLayout
            android:id="@+id/linScroll"
            android:layout_margin="10dp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <EditText
                android:id="@+id/txt1"
                android:layout_marginTop="10dp"
                android:hint="1"
                android:layout_width="match_parent"
                android:layout_height="40dp" />

            <EditText
                android:id="@+id/txt2"
                android:layout_marginTop="10dp"
                android:layout_width="match_parent"
                android:hint="2"
                android:layout_height="40dp" />

            <EditText
                android:id="@+id/txt3"
                android:layout_marginTop="10dp"
                android:hint="3"
                android:layout_width="match_parent"
                android:layout_height="40dp" />

            <EditText
                android:id="@+id/txt4"
                android:layout_marginTop="10dp"
                android:hint="4"
                android:layout_width="match_parent"
                android:layout_height="40dp" />

            <EditText
                android:id="@+id/txt5"
                android:layout_marginTop="10dp"
                android:layout_width="match_parent"
                android:hint="5"
                android:layout_height="40dp" />

            <EditText
                android:id="@+id/txt6"
                android:layout_marginTop="10dp"
                android:layout_width="match_parent"
                android:hint="6"
                android:layout_height="40dp" />

            <EditText
                android:id="@+id/txt7"
                android:layout_marginTop="10dp"
                android:layout_width="match_parent"
                android:hint="7"
                android:layout_height="40dp" />

            <EditText
                android:id="@+id/txt8"
                android:layout_marginTop="10dp"
                android:layout_width="match_parent"
                android:hint="8"
                android:layout_height="40dp" />

            <EditText
                android:id="@+id/txt9"
                android:layout_marginTop="10dp"
                android:layout_width="match_parent"
                android:hint="9"
                android:layout_height="40dp" />

            <EditText
                android:id="@+id/txt10"
                android:layout_marginTop="10dp"
                android:layout_width="match_parent"
                android:hint="10"
                android:layout_height="40dp" />

            <EditText
                android:id="@+id/txt11"
                android:layout_marginTop="10dp"
                android:layout_width="match_parent"
                android:hint="11"
                android:layout_height="40dp" />

            <EditText
                android:id="@+id/txt12"
                android:layout_marginTop="10dp"
                android:layout_width="match_parent"
                android:hint="12"
                android:layout_height="40dp" />

            <EditText
                android:id="@+id/txt13"
                android:layout_marginTop="10dp"
                android:layout_width="match_parent"
                android:hint="13"
                android:layout_height="40dp" />

            <EditText
                android:id="@+id/txt14"
                android:layout_marginTop="10dp"
                android:layout_width="match_parent"
                android:hint="14"
                android:layout_height="40dp" />

            <EditText
                android:id="@+id/txt15"
                android:layout_marginTop="10dp"
                android:layout_width="match_parent"
                android:hint="15"
                android:layout_height="40dp" />

            <EditText
                android:id="@+id/txt16"
                android:layout_marginTop="10dp"
                android:hint="16"
                android:layout_width="match_parent"
                android:layout_height="40dp" />

            <EditText
                android:id="@+id/txt17"
                android:layout_marginTop="10dp"
                android:hint="17"
                android:layout_width="match_parent"
                android:layout_height="40dp" />

            <EditText
                android:id="@+id/txt18"
                android:layout_marginTop="10dp"
                android:layout_width="match_parent"
                android:hint="18"
                android:layout_height="40dp" />

            <EditText
                android:id="@+id/txt19"
                android:layout_marginTop="10dp"
                android:layout_width="match_parent"
                android:hint="19"
                android:layout_height="40dp" />

            <EditText
                android:id="@+id/txt20"
                android:layout_marginTop="10dp"
                android:hint="20"
                android:layout_width="match_parent"
                android:layout_height="40dp" />

        </LinearLayout>

    </ScrollView>

    <Button
        android:id="@+id/btn"
        android:text="SOY UN BOTON"
        android:layout_width="match_parent"
        android:layout_height="40dp" />

</LinearLayout>

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

用以下内容替换您的代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <ScrollView
        android:id="@+id/scroll"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:fillViewport="true">

        <LinearLayout
            android:id="@+id/linScroll"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:orientation="vertical">

            <EditText
                android:id="@+id/txt1"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:hint="1" />

            <EditText
                android:id="@+id/txt2"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:hint="2" />

            <EditText
                android:id="@+id/txt3"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:hint="3" />

            <EditText
                android:id="@+id/txt4"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:hint="4" />

            <EditText
                android:id="@+id/txt5"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:hint="5" />

            <EditText
                android:id="@+id/txt6"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:hint="6" />

            <EditText
                android:id="@+id/txt7"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:hint="7" />

            <EditText
                android:id="@+id/txt8"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:hint="8" />

            <EditText
                android:id="@+id/txt9"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:hint="9" />

            <EditText
                android:id="@+id/txt10"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:hint="10" />

            <EditText
                android:id="@+id/txt11"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:hint="11" />

            <EditText
                android:id="@+id/txt12"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:hint="12" />

            <EditText
                android:id="@+id/txt13"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:hint="13" />

            <EditText
                android:id="@+id/txt14"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:hint="14" />

            <EditText
                android:id="@+id/txt15"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:hint="15" />

            <EditText
                android:id="@+id/txt16"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:hint="16" />

            <EditText
                android:id="@+id/txt17"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:hint="17" />

            <EditText
                android:id="@+id/txt18"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:hint="18" />

            <EditText
                android:id="@+id/txt19"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:hint="19" />

            <EditText
                android:id="@+id/txt20"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:hint="20" />

            <Button
                android:id="@+id/btn"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:text="SOY UN BOTON" />
        </LinearLayout>

    </ScrollView>


</LinearLayout>

答案 1 :(得分:0)

我要尝试的第一件事是设置按钮的重量并将按钮和滚动视图的高度都更改为0dp,在设置布局比例(如果使用权重)时应避免使用dp。

其次,如果您只是想让应用程序在打开软键盘时不按下布局(这就是按钮出现在软键盘正上方的原因)设置

<activity
    ...
    android:windowSoftInputMode="adjustPan"> 
</activity> 
清单中的