windowSoftInputMode=adjustResize|stateHidden Keyboard OverLays Ошибка редактирования текста

Пробовал использовать window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN)
внутри действия. Также пробовал с параметром ADJUST_RESIZE. Это не сработало.

Следующий код — мой манифест для активности

<activity android:name=".auth.AuthActivity"
          android:theme="@style/NoActionBarTheme"
          android:windowSoftInputMode="adjustResize|stateHidden">
</activity>

Это скриншот моего эмулятора

Снимок экрана эмулятора
Перепробовал большинство решений. Может быть, мне не хватает правильного


person Abraham Mathew    schedule 30.04.2019    source источник


Ответы (4)


вы можете программно скрыть клавиатуру, когда вы устанавливаете ошибку на editBox

 public void hideKeyboard() {
        View view = this.getCurrentFocus();
        if (view != null) {
            InputMethodManager imm = (InputMethodManager)
                    getSystemService(Context.INPUT_METHOD_SERVICE);
            if (imm != null) {
                imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
            }
        }
    }
person Priyanka    schedule 30.04.2019
comment
Это не сработает, так как мне нужно показать ошибку, когда пользователь вводит текст внутри editText. - person Abraham Mathew; 30.04.2019
comment
Да, я это знаю, но мне нужно другое. Пользователю нужно показывать ошибку до тех пор, пока она не исчезнет - person Abraham Mathew; 30.04.2019

Используйте ScrollView в layout и поместите все свои поля в ScrollView, чтобы они могли перемещаться по вертикали. Затем, когда клавиатура выдвигается, поля могут легко перемещаться, и ничего не будет скрыто.

person Abdur Rahman    schedule 30.04.2019
comment
Я уже использую вложенный ScollView, чтобы обернуть свой limitedLayout. - person Abraham Mathew; 30.04.2019
comment
Являются ли эти поля прямым потомком NestedScrollView? - person Abdur Rahman; 30.04.2019
comment
Можете ли вы упорядочить макет таким образом, чтобы NestedScrollView->ConstraintLayout->AllFields - person Abdur Rahman; 30.04.2019
comment
Может быть, это будет лучше всего работать для лучшей прокрутки представления - person Abdur Rahman; 30.04.2019
comment
Да, это так: NestedScrollView->ConstraintLayout->AllFields - person Abraham Mathew; 30.04.2019
comment
Давайте продолжим обсуждение в чате. - person Abraham Mathew; 30.04.2019

Используйте этот рабочий код

поместите этот код на создание

        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE|WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

поставить манифест это

  android:windowSoftInputMode="adjustResize"
person mehul chauhan    schedule 30.04.2019

Попробуйте так

<ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent" >


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">


        <EditText
            android:id="@+id/edittext1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="player1"
            android:layout_marginTop="10dp"/>

        <EditText
            android:id="@+id/edittext2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:hint="player2"/>

        <EditText
            android:id="@+id/edittext3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:hint="player3"/>


        <EditText
            android:id="@+id/edittext4"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="player4"
            android:layout_marginTop="10dp" />
    </LinearLayout>

</ScrollView>
person VIKAS SHARMA    schedule 30.04.2019