无法在键入时看到滚动视图中的编辑文本

时间:2012-08-09 14:07:07

标签: android scrollview android-edittext android-softkeyboard

尝试输入EditText时,软键盘覆盖了我的EditText字段。

如何防止软键盘覆盖我的EditText字段?

按下后退按钮后,我可以看到我输入的内容,因为软键盘不再覆盖EditText

我正在使用galaxy 10.1英寸平板电脑。

XML

<ScrollView
            android:layout_width="wrap_content"
            android:layout_height="400dp" >

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

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

                    <TextView
                        android:layout_width="150dp"
                        android:layout_height="wrap_content"
                        android:text="1) Project"
                        android:textColor="#000000"
                        android:layout_gravity="bottom"
                        android:textSize="25sp" />

                    <EditText
                        android:id="@+id/projectET"
                        android:layout_width="500dp"
                        android:layout_height="wrap_content"
                        android:textSize="25sp"
                        android:ems="10"
                        android:hint="Project" 
                        android:inputType="textCapWords"
                        android:layout_gravity="bottom"/>

                    <CheckBox
                        android:id="@+id/projectCBM"
                        android:layout_width="wrap_content"
                        android:layout_height="55dp" />

                </LinearLayout>

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

                    <TextView
                        android:layout_width="150dp"
                        android:layout_height="wrap_content"
                        android:text="2) Customer"
                        android:textColor="#000000"
                        android:layout_gravity="bottom"
                        android:textSize="25sp" />

                    <EditText
                        android:id="@+id/customerET"
                        android:layout_width="500dp"
                        android:layout_height="wrap_content"
                        android:ems="10"
                        android:inputType="textCapWords"
                        android:layout_gravity="bottom"
                        android:textSize="25sp"
                        android:hint="Customer" />

                    <CheckBox
                        android:id="@+id/customerCBM"
                        android:layout_width="wrap_content"
                        android:layout_height="55dp" />
                </LinearLayout>

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

                    <TextView
                        android:id="@+id/material1"
                        android:layout_width="150dp"
                        android:layout_height="wrap_content"
                        android:text="3) Material"
                        android:textColor="#000000"
                        android:layout_gravity="bottom"
                        android:textSize="25sp" />

                    <EditText
                        android:id="@+id/materialET"
                        android:layout_width="500dp"
                        android:layout_height="wrap_content"
                        android:textSize="25sp"
                        android:layout_gravity="bottom"
                        android:inputType="textCapWords"
                        android:ems="10"
                        android:hint="Material" />

                    <CheckBox
                        android:id="@+id/materialCBM"
                        android:layout_width="wrap_content"
                        android:layout_height="55dp" />
                </LinearLayout>

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

                    <TextView
                        android:layout_width="150dp"
                        android:layout_height="wrap_content"
                        android:text="4) Phase"
                        android:layout_gravity="bottom"
                        android:textColor="#000000"
                        android:textSize="25sp" />

                    <EditText
                        android:id="@+id/fazeET"
                        android:layout_width="500dp"
                        android:layout_height="wrap_content"
                        android:ems="10"
                        android:layout_gravity="bottom"
                        android:textSize="25sp"
                        android:enabled="false"
                        android:hint="Phase" />

                    <CheckBox
                        android:id="@+id/fazeCBM"
                        android:layout_width="wrap_content"
                        android:layout_height="55dp"
                        android:enabled="false" />
                </LinearLayout>

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

                    <TextView
                        android:layout_width="150dp"
                        android:layout_height="wrap_content"
                        android:text="5)"
                        android:textColor="#000000"
                        android:layout_gravity="bottom"
                        android:textSize="25sp" />

                    <EditText
                        android:layout_width="500dp"
                        android:layout_height="wrap_content"
                        android:ems="10"
                        android:layout_gravity="bottom"
                        android:textSize="25sp"
                        android:enabled="false"
                        android:hint="" />

                    <CheckBox
                        android:layout_width="wrap_content"
                        android:layout_height="55dp"
                        android:enabled="false" />
                </LinearLayout>

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

                    <TextView
                        android:layout_width="150dp"
                        android:layout_height="wrap_content"
                        android:text="6)"
                        android:layout_gravity="bottom"
                        android:textColor="#000000"
                        android:textSize="25sp" />

                    <EditText
                        android:layout_width="500dp"
                        android:layout_height="wrap_content"
                        android:ems="10"
                        android:layout_gravity="bottom"
                        android:textSize="25sp"
                        android:enabled="false"
                        android:hint="" />

                    <CheckBox
                        android:layout_width="wrap_content"
                        android:layout_height="55dp"
                        android:enabled="false" />
                </LinearLayout>

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

                    <TextView
                        android:layout_width="150dp"
                        android:layout_height="wrap_content"
                        android:text="7)"
                        android:layout_gravity="bottom"
                        android:textColor="#000000"
                        android:textSize="25sp" />

                    <EditText
                        android:layout_width="500dp"
                        android:layout_height="wrap_content"
                        android:ems="10"
                        android:layout_gravity="bottom"
                        android:textSize="25sp"
                        android:enabled="false"
                        android:hint="" />

                    <CheckBox
                        android:layout_width="wrap_content"
                        android:layout_height="55dp"
                        android:enabled="false" />
                </LinearLayout>

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

                    <TextView
                        android:layout_width="150dp"
                        android:layout_height="wrap_content"
                        android:text="8)"
                        android:textColor="#000000"
                        android:layout_gravity="bottom"
                        android:textSize="25sp" />

                    <EditText
                        android:layout_width="500dp"
                        android:layout_height="wrap_content"
                        android:ems="10"
                        android:layout_gravity="bottom"
                        android:textSize="25sp"
                        android:enabled="false"
                        android:hint="" />

                    <CheckBox
                        android:layout_width="55dp"
                        android:layout_height="wrap_content"
                        android:enabled="false" />
                </LinearLayout>

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

                    <TextView
                        android:layout_width="150dp"
                        android:layout_height="wrap_content"
                        android:text="9)"
                        android:textColor="#000000"
                        android:layout_gravity="bottom"
                        android:textSize="25sp" />

                    <EditText
                        android:layout_width="500dp"
                        android:layout_height="wrap_content"
                        android:ems="10"
                        android:layout_gravity="bottom"
                        android:textSize="25sp"
                        android:enabled="false"
                        android:hint="" />

                    <CheckBox
                        android:layout_width="55dp"
                        android:layout_height="wrap_content"
                        android:enabled="false" />
                </LinearLayout>

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

                    <TextView
                        android:layout_width="150dp"
                        android:layout_height="wrap_content"
                        android:text="10)"
                        android:textColor="#000000"
                        android:layout_gravity="bottom"
                        android:textSize="25sp" />

                    <EditText
                        android:layout_width="500dp"
                        android:layout_height="wrap_content"
                        android:ems="10"
                        android:layout_gravity="bottom"
                        android:textSize="25sp"
                        android:enabled="false"
                        android:hint="" />

                    <CheckBox
                        android:layout_width="55dp"
                        android:layout_height="wrap_content"
                        android:enabled="false" />
                </LinearLayout>
            </LinearLayout>
        </ScrollView>

2 个答案:

答案 0 :(得分:4)

您需要使用windowSoftInputMode。这将允许您的UI在键盘出现时调整大小。允许用户在键盘输入时看到EditText

将AndroidManifest.xml中的此属性添加到Activity

android:windowSoftInputMode="adjustPan"

Reference

答案 1 :(得分:0)

好吧,我认为你的ScrollView上面有一些固定的布局,因为通常ScrollView会自动滚动到聚焦组件。

所以,如果我是对的,有两种选择(我知道):

  1. ScrollView带到键盘上或
  2. 验证布局更改以动态地将ScrollView置于上方 在ScrollView可见之后,它将会显示 自动向用户显示正确的EditText