Я разрабатываю макет для активности SignIn. Я должен был приложить фиксированные веса к моим макетам. Моя проблема в том, что панель инструментов прокручивается, когда отображается softInputKeyboard
.Restric Toolbar для прокрутки вверх по показу softInputKeyboard
Я пробовал android:windowSoftInputMode="adjustPan|stateVisible"
, но ни один из вариантов не работает для меня.
Кроме того, настройка корневой компоновки на android:fitsSystemWindows="true"
не помогла.
desceibes мою проблему.
И Xml Layout:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="tpltrakker.tplmap.ActivitySignIn">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar_sign_in"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/app_color_greenish"
android:minHeight="?attr/actionBarSize"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />
</android.support.design.widget.AppBarLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/appbar"
android:layout_marginLeft="@dimen/activity_horizontal_margin"
android:layout_marginRight="@dimen/activity_horizontal_margin"
android:orientation="vertical"
android:weightSum="100">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="45"
android:orientation="vertical"
android:weightSum="100">
<TextView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_gravity="center"
android:layout_marginBottom="10dp"
android:layout_marginTop="10dp"
android:layout_weight="35"
android:gravity="center"
android:text="@string/title_hello"
android:textColor="@color/app_color_greenish"
android:textSize="30sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginLeft="5dp"
android:layout_weight="12"
android:text="@string/label_sign_in"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
android:textStyle="normal" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="28"
android:gravity="center_vertical"
android:weightSum="10">
<Button
android:id="@+id/btn_google"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="4.5"
android:drawableLeft="@drawable/google"
android:text="@string/button_google"
android:textAllCaps="false"
android:textAppearance="?android:attr/textAppearanceMedium"
android:theme="@style/AppTheme.ButtonGoogle" />
<View
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_weight="1" />
<Button
android:id="@+id/btn_fb"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="4.5"
android:drawableLeft="@drawable/facebook"
android:text="@string/button_facebook"
android:textAllCaps="false"
android:textAppearance="?android:attr/textAppearanceMedium"
android:theme="@style/AppTheme.ButtonFacebook" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="5dp"
android:layout_weight="25"
android:orientation="horizontal"
android:weightSum="10">
<View
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_gravity="center"
android:layout_weight="4"
android:background="@color/divider_color" />
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:gravity="center"
android:text="@string/label_or"
android:textColor="@color/app_color_greenish"
android:textSize="20sp" />
<View
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_gravity="center"
android:layout_weight="4"
android:background="@color/divider_color" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="10"
android:orientation="horizontal"
android:weightSum="10">
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:scaleType="fitStart"
android:src="@drawable/email" />
<EditText
android:id="@+id/et_email"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="9"
android:hint="@string/prompt_email"
android:inputType="textEmailAddress"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
android:textStyle="normal" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="10"
android:orientation="horizontal"
android:weightSum="10">
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:scaleType="fitStart"
android:src="@drawable/password" />
<EditText
android:id="@+id/et_password"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="9"
android:hint="@string/prompt_password"
android:inputType="textPassword" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="35">
<Button
android:id="@+id/btn_login_new"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="@string/action_sign_in"
android:textAppearance="?android:attr/textAppearanceMedium"
android:theme="@style/AppTheme.ButtonGreen" />
<Button
android:id="@+id/btn_forget_pass"
style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/btn_login_new"
android:layout_marginTop="5dp"
android:text="@string/action_forget_pass"
android:textAllCaps="false"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/app_color_greenish" />
<Button
android:id="@+id/btn_signup_new"
style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="5dp"
android:text="@string/action_sign_up"
android:textAllCaps="false"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/app_color_greenish" />
<Button
android:id="@+id/btn_terms"
style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="5dp"
android:text="@string/action_term"
android:textAllCaps="false"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/app_color_greenish" />
</RelativeLayout>
</LinearLayout>
</RelativeLayout>
Спасибо!
решений adjustPan | adjustResize при этом делает макет таким же, как на клавиатуре. Ни один из макетов не является панорамированием или изменением размера. Как бы то ни было, я хочу, чтобы на панели инструментов не отображалась панорама, когда отображается клавиатура. –