Как изменить форму так, чтобы клавиатура не блокировала ее? - PullRequest
2 голосов
/ 10 июня 2011

У меня есть экран входа в первую активность моего приложения для 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>

1 Ответ

7 голосов
/ 10 июня 2011

В своем манифесте вы можете указать, как вы хотите, чтобы программная клавиатура изменяла макет, например:

      <activity android:name=".YourActivity"
              android:windowSoftInputMode="adjustResize"/>   

Это позволит изменить размеры ваших компонентов до «наилучшего соответствия».Вы также можете использовать adjustPan, в этом случае видимая область будет перемещаться, чтобы сфокусироваться на вашем текстовом поле.

См. this .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...