移动布局在软键盘上方,如编辑联系人应用

时间:2017-03-09 07:14:09

标签: android layout android-softkeyboard

我有以下布局,

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:clickable="true"
              android:orientation="vertical">
    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <LinearLayout
            android:id="@+id/content"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <android.support.design.widget.TextInputLayout
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginBottom="8dp"
                            android:layout_marginLeft="16dp"
                            android:layout_marginRight="16dp"
                            android:layout_marginTop="8dp">

                            <EditText
                                android:id="@+id/name"
                                android:layout_width="fill_parent"
                                android:layout_height="wrap_content"
                                android:hint="@string/name"
                                android:inputType="text"/>
            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginBottom="8dp"
                            android:layout_marginLeft="16dp"
                            android:layout_marginRight="16dp"
                            android:layout_marginTop="8dp">

                            <EditText
                                android:id="@+id/address_name"
                                android:layout_width="fill_parent"
                                android:layout_height="wrap_content"
                                android:hint="@string/address_name"
                                android:inputType="text"/>
            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginBottom="8dp"
                            android:layout_marginLeft="16dp"
                            android:layout_marginRight="16dp"
                            android:layout_marginTop="8dp">

                            <EditText
                                android:id="@+id/address"
                                android:layout_width="fill_parent"
                                android:layout_height="wrap_content"
                                android:hint="@string/address"
                                android:inputType="text"/>
            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginBottom="8dp"
                            android:layout_marginLeft="16dp"
                            android:layout_marginRight="16dp"
                            android:layout_marginTop="8dp">

                            <EditText
                                android:id="@+id/street"
                                android:layout_width="fill_parent"
                                android:layout_height="wrap_content"
                                android:hint="@string/street"
                                android:inputType="text"/>
            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginBottom="8dp"
                            android:layout_marginLeft="16dp"
                            android:layout_marginRight="16dp"
                            android:layout_marginTop="8dp">

                            <EditText
                                android:id="@+id/city"
                                android:layout_width="fill_parent"
                                android:layout_height="wrap_content"
                                android:hint="@string/city"
                                android:inputType="text"/>
            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginBottom="8dp"
                            android:layout_marginLeft="16dp"
                            android:layout_marginRight="16dp"
                            android:layout_marginTop="8dp">

                            <EditText
                                android:id="@+id/state"
                                android:layout_width="fill_parent"
                                android:layout_height="wrap_content"
                                android:hint="@string/state"
                                android:inputType="text"/>
            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginBottom="8dp"
                            android:layout_marginLeft="16dp"
                            android:layout_marginRight="16dp"
                            android:layout_marginTop="8dp">

                            <EditText
                                android:id="@+id/postal_code"
                                android:layout_width="fill_parent"
                                android:layout_height="wrap_content"
                                android:hint="@string/postal_code"
                                android:inputType="text"/>
            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginBottom="8dp"
                            android:layout_marginLeft="16dp"
                            android:layout_marginRight="16dp"
                            android:layout_marginTop="8dp">

                            <EditText
                                android:id="@+id/landmark"
                                android:layout_width="fill_parent"
                                android:layout_height="wrap_content"
                                android:hint="@string/landmark"
                                android:inputType="text"/>
            </android.support.design.widget.TextInputLayout>            

        </LinearLayout>
    </ScrollView>
</LinearLayout>

当我输入数据时,软键盘会隐藏字段。我尝试使用android:windowSoftInputMode="adjustPan"等各种设置在清单中设置adjustNothing, adjustResize。这些设置从未奏效。

我希望在软键盘上方可以滚动字段。因此,可以像Android中的默认编辑联系人应用程序一样输入数据。

尝试使用Android 5.1

0 个答案:

没有答案