我在Android应用程序的第一个活动中有一个登录屏幕。当用户在填写用户名字段后选择密码字段时,弹出虚拟屏幕键盘并阻止密码字段。用户无法查看他们正在键入的内容。我该如何解决这个问题?
下面是我的main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout style="@style/LoginScreen" xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#fff"
>
<ListView android:id="@+id/listView1" android:layout_height="wrap_content" android:layout_width="match_parent"></ListView>
<ImageView android:id="@+id/imageView1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/logo"></ImageView>
<TextView android:textColor="#000" android:layout_width="wrap_content" android:id="@+id/textView1" android:layout_height="wrap_content" android:text="Enter your Google Account credentials:"></TextView>
<TextView style="@style/LoginLabel" android:layout_width="wrap_content" android:id="@+id/textView1" android:layout_height="wrap_content" android:text="Username:"></TextView>
<EditText android:layout_width="match_parent" android:id="@+id/login_username" android:layout_height="wrap_content"></EditText>
<TextView style="@style/LoginLabel" android:layout_width="wrap_content" android:id="@+id/textView2" android:layout_height="wrap_content" android:text="Password:"></TextView>
<EditText android:id="@+id/login_password" android:layout_height="wrap_content" android:layout_width="match_parent" android:password="true"></EditText>
<Button style="@style/LoginButton" android:id="@+id/login_button" android:layout_height="wrap_content" android:layout_width="match_parent" android:text="Login"></Button>
<LinearLayout android:id="@+id/linearLayout1" android:layout_height="wrap_content" android:layout_width="match_parent">
</LinearLayout>
答案 0 :(得分:7)
在清单中,您可以定义软键盘修改布局的方式,例如:
<activity android:name=".YourActivity"
android:windowSoftInputMode="adjustResize"/>
这会将您的组件调整为“最适合”。您也可以使用adjustPan
,在这种情况下,可见区域将四处移动以关注您的文本框。
请参阅this。