Клавиатура флаттера скрывает текстовое поле в android, но нормально работает в iOS - PullRequest
1 голос
/ 15 апреля 2020

Когда текстовое поле находится в фокусе, содержимое прокручивается в iOS, но не работает в android. Нужно ли менять иерархию виджетов или какую-либо конфигурацию, необходимую для изменения в файле AndroidManifest? Я также пробовал resizeToAvoidBottomInset и resizeToAvoidBottomPadding свойства Scaffold

Widget build(BuildContext context) {
return Scaffold(
  body: Container(
    margin: EdgeInsets.all(0.0),
    decoration: BoxDecoration(
      image: DecorationImage(
          image: AssetImage("assets/images/background.png"),
          fit: BoxFit.fill),
    ),
    child: Stack(
      children: <Widget>[
        Center(
          child: Padding(
            padding: const EdgeInsets.symmetric(horizontal: 16.0),
            child: signUpCardView,
          ),
        ),
        userLogin(bloc),
      ],
    ),
  ),
);

}

Widget get signUpCardView {
return SingleChildScrollView(
      child: Card(
    color: Colors.white,
    child: Column(
      crossAxisAlignment: CrossAxisAlignment.start,
      mainAxisSize: MainAxisSize.min,
      children: <Widget>[
        Padding(
          padding: EdgeInsets.symmetric(vertical: 30.0),
          child: Center(
            child: Column(
              children: <Widget>[
                Text(
                  "${AppTranslations.of(context).text("signUp")}",
                  style: TextStyle(
                    color: AppColors.BUTTON_SECONDARY_BACKGROUND_COLOR,
                    fontFamily: customFontFamily,
                    fontSize: 30.0,
                  ),
                ),
                SizedBox(
                  width: 50,
                  height: 20,
                  child: Divider(
                    thickness: 4.0,
                    color: AppColors.BUTTON_SECONDARY_BACKGROUND_COLOR,
                  ),
                )
              ],
            ),
          ),
        ),
        Padding(
          padding: const EdgeInsets.symmetric(vertical: 0.0),
          child: nameField(bloc),
        ),
        Padding(
          padding: const EdgeInsets.symmetric(vertical: 0.0),
          child: mobileField(bloc),
        ),
        Padding(
          padding: const EdgeInsets.symmetric(vertical: 0.0),
          child: emailField(bloc),
        ),
        Padding(
          padding: const EdgeInsets.symmetric(vertical: 0.0),
          child: passwordField(bloc),
        ),
        confirmPasswordField(bloc),
        Center(
          child: Padding(
            padding: const EdgeInsets.symmetric(vertical: 16.0),
            child: submitButton(bloc),
          ),
        ),
        Padding(
          padding: EdgeInsets.symmetric(vertical: 8.0),
          child: Center(
            child: Padding(
              padding: const EdgeInsets.only(bottom: 50.0),
              child: Row(
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[
                  Text(
                    "${AppTranslations.of(context).text("alreadyHaveAnAccount")}?",
                    style: TextStyle(
                      color: Colors.grey.shade600,
                      fontFamily: customFontFamily,
                    ),
                  ),
                  InkWell(
                    onTap: () {
                      _openSignInScreen();
                    },
                    child: Text(
                      " ${AppTranslations.of(context).text("signIn")}",
                      style: TextStyle(
                        color: AppColors.BUTTON_SECONDARY_BACKGROUND_COLOR,
                        fontFamily: customFontFamily,
                      ),
                    ),
                  ),
                ],
              ),
            ),
          ),
        ),
      ],
    ),
  ),
);

}

Это пользовательский интерфейс

Ответы [ 2 ]

1 голос
/ 16 апреля 2020

Наконец-то решил мою проблему. Это было из-за <item name="android:windowFullscreen">true</item> в стилях. xml.

1 голос
/ 15 апреля 2020

Чтобы экран "изменил размеры" ie переместите курсор, ваш манифест android должен иметь следующее:

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