Я новичок в разработке приложений для Android. Я знаю, что есть много похожих вопросов, но я думаю, что этот вопрос немного отличается, и ничего из того, что я пробовал, не работает. У меня есть вход в систему с AppBar и некоторые EditTexts. Когда пользователь выбирает первый, появляется клавиатура и все подталкивает. Первый EditText помещается под AppBar, и я не могу прокрутить вид вниз, только вверх.
В манифесте, который я установил android:windowSoftInputMode="stateHidden|adjustResize"
. Это макет моей деятельности:
<?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:background="@color/colorPrimaryDark"
tools:context=".Login.MainLoginActivity">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:theme="@style/AppTheme.AppBarOverlay">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbarMainLogin"
app:layout_scrollFlags="scroll"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorPrimary"
android:theme="@style/AppTheme.AppBarOverlay"
app:popupTheme="@style/AppTheme.PopupOverlay"
app:titleTextColor="@android:color/white">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="18dp"
android:gravity="center"
android:text="Backoffice"
android:textColor="@android:color/white"
android:textSize="20sp" />
</androidx.appcompat.widget.Toolbar>
</com.google.android.material.appbar.AppBarLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/appbar"
android:layout_centerInParent="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:orientation="vertical"
android:paddingLeft="24dp"
android:paddingRight="24dp">
<!-- Server Label -->
<TextView
android:id="@+id/loginLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="30dp"
android:layout_marginBottom="16dp"
android:gravity="center_horizontal"
android:lines="1"
android:text="@string/loginLabel"
android:textAlignment="center"
android:textColor="@android:color/white"
android:textSize="22sp" />
<!-- Port Label -->
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:textColorHint="@color/colorPrimaryLight"
android:theme="@style/TextInputLayoutTheme">
<EditText
android:id="@+id/inputServer"
android:layout_width="match_parent"
android:layout_height="40dp"
android:hint="Server IP"
android:inputType="textNoSuggestions|textPersonName"
android:text="192.168.2.1"
android:textColor="@android:color/white" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:textColorHint="@color/colorPrimaryLight"
android:theme="@style/TextInputLayoutTheme">
<EditText
android:id="@+id/inputPort"
android:layout_width="match_parent"
android:layout_height="40dp"
android:hint="Port"
android:inputType="textNoSuggestions|number"
android:text="8080"
android:textColor="@android:color/white" />
</com.google.android.material.textfield.TextInputLayout>
<!-- Username Label -->
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:textColorHint="@color/colorPrimaryLight"
android:theme="@style/TextInputLayoutTheme">
<EditText
android:id="@+id/inputUsername"
android:layout_width="match_parent"
android:layout_height="40dp"
android:hint="Username"
android:inputType="textNoSuggestions|textPersonName"
android:text="maser"
android:textColor="@android:color/white" />
</com.google.android.material.textfield.TextInputLayout>
<!-- Password Label -->
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:textColorHint="@color/colorPrimaryLight"
android:theme="@style/TextInputLayoutTheme">
<EditText
android:id="@+id/inputPassword"
android:layout_width="match_parent"
android:layout_height="40dp"
android:hint="Password"
android:inputType="textPassword"
android:text="maser"
android:textColor="@android:color/white" />
</com.google.android.material.textfield.TextInputLayout>
<RadioGroup
android:id="@+id/idSedeGroup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:orientation="horizontal">
<RadioButton
android:id="@+id/multimpiantoRadio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:buttonTint="@android:color/white"
android:checked="true"
android:text="Multimpianto"
android:textAlignment="viewStart"
android:textColor="@android:color/white"
android:textSize="17sp" />
<RadioButton
android:id="@+id/standaloneRadio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:buttonTint="@android:color/white"
android:text="Standalone"
android:textAlignment="viewStart"
android:textColor="@android:color/white"
android:textSize="17sp" />
</RadioGroup>
<androidx.appcompat.widget.AppCompatButton
android:id="@+id/loginButton"
android:layout_width="fill_parent"
android:layout_height="36dp"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:background="@color/colorPrimary"
android:onClick="loginPressed"
android:text="Accedi"
android:textColor="@android:color/white" />
<CheckBox
android:id="@+id/checkCredenziali"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:buttonTint="@android:color/white"
android:checked="true"
android:gravity="center"
android:layoutDirection="rtl"
android:text="Memorizza credenziali: "
android:textColor="@android:color/white"
android:textSize="16sp" />
</LinearLayout>
</ScrollView>
</RelativeLayout>
снимок экрана
Я также попытался, как было предложено, обернуть все в ScrollView и изменить в манифесте windowSoftInputModeнастроить Pan, но ничего не прокручивается.
<?xml version="1.0" encoding="utf-8"?>
<ScrollView 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:fillViewport="true"
android:scrollbars="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimaryDark"
tools:context=".Login.MainLoginActivity">
...