键盘打开时遇到问题,编辑文本部分显示,例如不是全视图。
截图:
这是布局代码:
<ScrollView 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:background="@color/lightgreen"
android:fillViewport="true"
android:padding="20dp" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/lightgreen"
android:orientation="vertical" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/str_mobilenumber"
android:textSize="16sp" />
<EditText
android:id="@+id/reg_mobile"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="phone" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/str_password"
android:textSize="16sp" />
<EditText
android:id="@+id/reg_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/str_password_confirm"
android:textSize="16sp" />
<EditText
android:id="@+id/reg_password_confirm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/str_fullname"
android:textSize="16sp" />
<EditText
android:id="@+id/reg_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:ignore="TextFields" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/str_email"
android:textSize="16sp" />
<EditText
android:id="@+id/reg_email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="3dp"
android:text="@string/str_city"
android:textSize="16sp" />
<Spinner
android:id="@+id/reg_city"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:entries="@array/cities_array"
android:prompt="@string/str_city" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/str_zip"
android:textSize="16sp" />
<EditText
android:id="@+id/reg_zip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:inputType="phone" />
<Button
android:id="@+id/btnRegister"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="actionRegister"
android:text="@string/str_register" />
</LinearLayout>
</ScrollView>
任何编辑文本字段都会出现同样的问题,当键盘输入时,它不会完全显示。有什么方法可以避免这个问题吗?
由于
答案 0 :(得分:3)
问题是你的布局和键盘空间不足。您可以滚动视图以防止出现此问题。有两种方法可以做到这一点:
“adjustResize”
活动的主窗口始终调整大小,以便为屏幕上的软键盘腾出空间。
“adjustPan”
活动的主窗口未调整大小以便为软键盘腾出空间。相反,窗口的内容会自动平移,以便键盘不会遮挡当前焦点,用户可以随时看到他们正在键入的内容。这通常不如调整大小,因为用户可能需要关闭软键盘才能进入并与窗口的模糊部分进行交互。
您应该将此行添加到manifest.xml
<activity android:windowSoftInputMode="adjustResize"> </activity>
答案 1 :(得分:3)
查看the activity element的可用属性,尤其是android:windowSoftInputMode
。您可以考虑添加adjustResize:
活动的主窗口始终调整大小,以便为屏幕上的软键盘腾出空间。
或adjustPan:
活动的主窗口未调整大小以便为软键盘腾出空间。相反,窗口的内容会自动平移,以便键盘不会遮挡当前焦点,用户可以随时看到他们正在键入的内容。这通常不如调整大小,因为用户可能需要关闭软键盘才能进入并与窗口的模糊部分进行交互。
取决于您的具体要求。
使用示例:
<activity android:windowSoftInputMode="adjustResize" />
This answer也可能对您有用。