Раскладка должна увеличиться, когда программная клавиатура появилась перед Android - PullRequest
5 голосов
/ 09 января 2012

У меня проблема с тем, что у меня есть экран входа в систему, в котором при нажатии на кнопку «Редактировать текст» клавиатура SoftInput переопределяет два виджета. Один - это TextView, а другой - кнопка входа, которые находятся в относительном расположении, но я хочу, чтобы мы выбирали любой элемент «Изменить». Текст весь относительный макет должен идти вверх, и все виджеты видны над клавиатурой Softinput по умолчанию Android. Пожалуйста, предложите мне правильное решение.

Заранее спасибо.

Мой макет:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:background="#ffffff">
    <FrameLayout android:id="@+id/frame"
        android:layout_gravity="top|bottom|center_horizontal"
        android:layout_width="wrap_content" android:layout_marginTop="10dip" android:layout_height="wrap_content">

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:background="@drawable/logo" >
</ImageView>
    </FrameLayout>
    <RelativeLayout android:id="@+id/frameLayout1"
        android:layout_width="wrap_content" android:background="@drawable/login_box_bg"
        android:layout_gravity="center_horizontal" android:layout_height="220dip" android:layout_marginTop="20dip">
        <EditText android:id="@+id/ed_Login_Email"
            android:background="@drawable/login_input_bg" android:layout_gravity="center_horizontal" android:layout_marginTop="10dip" android:hint="Email:" android:paddingLeft="10dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="text" android:layout_centerHorizontal="true">
        </EditText>
        <EditText android:background="@drawable/login_input_bg" android:layout_gravity="center_horizontal" android:id="@+id/ed_Login_Pwd"
            android:inputType="textPassword" android:hint="Password:" android:paddingLeft="10dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="50dip" android:layout_centerHorizontal="true">
        </EditText>

        <ImageView
            android:id="@+id/img_Login_RememberUnchecked"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:background="@drawable/checkbox_unchkd_large" android:layout_gravity="top|left" android:layout_marginLeft="15dip" android:layout_marginTop="100dip" android:clickable="true"/>

        <TextView
            android:id="@+id/tv_Login_RememberMeUnchecked"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Remember Me" android:textColor="#000000" android:layout_gravity="top|left" android:layout_marginLeft="35dip" android:layout_marginTop="102dip" android:clickable="true"/>

        <Button
            android:id="@+id/btn_Login_Login"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/tv_Login_RememberMeUnchecked"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="14dp"
            android:background="@drawable/login_btn_bg"
            android:text="LOG IN"
            android:textColor="#ffffff" />

        <TextView
            android:id="@+id/tv_Login_ForgotPwd"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="15dp"
            android:clickable="true"
            android:text="Forgot your password?"
            android:textColor="#000000" />

    </RelativeLayout>


</LinearLayout>

Пожалуйста, обратитесь к изображениям ниже для большего понимания:

enter image description here

enter image description here

Я пытался с Android: windowSoftInputMode = "stateVisible | AdjustResize", но ничего не происходит, проблема остается той же.

1 Ответ

10 голосов
/ 09 января 2012

Пожалуйста, измените режим программного ввода Windows на Resize. Чтобы изменить режим на «resize», добавьте следующую инструкцию к вашей активности в файле AndroidManifest.

<activity android:name="YourActivityName" android:windowSoftInputMode="adjustResize">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...