AlignParentBottom + marginBottom не работает вместе
С точки зрения моей деятельности у меня есть RelativeLayout
в котором есть два макета: LinearLayout - "ll" (должен быть в верхней части экрана) и относительный - "rl"(должен быть в нижней части экрана). Когда я фокусируюсь на editText в ll, он открывает клавиатуру, и мой rl поднимается и показывает на ll. Тогда я пытаюсь использовать android:layout_below="@+id/ll"
но это не сработало. Также я попытался добавить android:windowSoftInputMode=""
с различными параметрами в манифесте, но ничего не помогло.
Так как сохранить RelativeLayout "rl" внизу экрана, даже когда клавиатура открывается?
Вот код
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingTop="@dimen/main_container_padding"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xxx="http://schemas.android.com/apk/res-auto" >
<!-- Layout of username, password, Sign in button -->
<LinearLayout
android:id="@+id/llusernamePassLogin"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:orientation="vertical"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="20dp"
android:layout_gravity="center_horizontal" >
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:text="@string/loginPageText" />
<am.bs.xxx.view.EditTextBase
android:id="@+id/login_vcardnumber"
android:layout_width="fill_parent"
android:layout_height="@dimen/edit_text_height"
android:layout_margin="@dimen/edit_text_margin"
android:hint="@string/email"
android:inputType="text" />
<am.bs.xxx.view.EditTextBase
android:id="@+id/login_password"
android:layout_width="fill_parent"
android:layout_height="@dimen/edit_text_height"
android:layout_margin="@dimen/edit_text_margin"
android:hint="@string/password"
android:inputType="textPassword" />
<Button
android:id="@+id/signin"
style="@style/main_button"
android:layout_width="fill_parent"
android:layout_height="@dimen/edit_text_height"
android:layout_margin="@dimen/edit_text_margin"
android:background="@drawable/main_button_shape_selector"
android:onClick="createButtonClickListener"
android:text="@string/signIn" />
</LinearLayout>
<!-- Create VCard or Register layout -->
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_alignParentBottom="true"
android:layout_marginBottom="40dp"
android:layout_below="@+id/llusernamePassLogin" >
<!-- Register button -->
<LinearLayout
android:id="@+id/llRegisterButtonLayout"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="vertical"
android:paddingBottom="1dp"
android:gravity="center_horizontal"
android:paddingRight="10dp" >
<ImageButton
android:id="@+id/login_register_button"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/reg"
android:onClick="createButtonClickListener"
android:background="@color/transparent" />
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/registration" />
</LinearLayout>
<!-- Create VCard button -->
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="vertical"
android:layout_toRightOf="@+id/llRegisterButtonLayout"
android:paddingBottom="1dp"
android:gravity="center_horizontal" >
<ImageButton
android:id="@+id/create_vc_button"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/create_vcard"
android:onClick="createButtonClickListener"
android:background="@color/transparent" />
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/createVcard" />
</LinearLayout>
</RelativeLayout>
</RelativeLayout>
2 ответа
Похоже, вам нужен Android:windowSoftInputMode="AdjustResize" и пометьте свой корневой RelativeLayout как isScrollContainer=true
Попробуйте это.. удалить android:layout_below="@+id/llusernamePassLogin"
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_alignParentBottom="true"
android:layout_marginBottom="40dp" >