首页 > 解决方案 > 键盘出现时底部静电可以吗?

问题描述

当我设置resizeToAvoidBottomInset: false,在脚手架上时,它似乎不起作用。 在此处输入图像描述

标签: flutterlayoutkeyboardcontainerstextfield

解决方案


我在登录屏幕中遇到了同样的错误。然后我使用 Listview 进行小部件设计

return Container(
      padding: const EdgeInsets.symmetric(horizontal: 57),
      child: Center(
          child: Form(
        key: model.formKey,
        child: ListView(
          primary: false,
          shrinkWrap: true,
          children: [
            Image(
              image: ImageHelper.logo,
              height: 241,
              width: 200,
            ),
            SizedBox(
              height: 30,
            ),
            Input(
              hintText: AppLocalizations.of(context).email,
              controller: model.loginController,
              validator: (value) => model.loginValidator(context, value),
              autofillHints: [AutofillHints.email],
              focusNode: model.loginNode,
              onFieldSubmitted: (v) {
                model.passwordNode.requestFocus();
              },
              textInputType: TextInputType.emailAddress,
              textInputAction: TextInputAction.next,
            ),
            Input(
              hintText: AppLocalizations.of(context).password,
              controller: model.passwordController,
              obscureText: true,
              validator: (value) => model.passwordValidator(context, value),
              autofillHints: [AutofillHints.password],
              focusNode: model.passwordNode,
              onFieldSubmitted: (v) {
                model.handleLogin(context);
              },
              textInputAction: TextInputAction.send,
            ),
            TextButton(
              onPressed: () {
                NavigationService.of(context).navigateToRecover(context);
              },
              child: Text(
                AppLocalizations.of(context).passwordForgotten,
              ),
            ),
            SizedBox(
              height: 12,
            ),
            Row(
              mainAxisSize: MainAxisSize.min,
              mainAxisAlignment: MainAxisAlignment.start,
              crossAxisAlignment: CrossAxisAlignment.start,
              children: [
                CheckBoxTimeline(
                    isSelected: model.isTermsAccepted,
                    color: model.isTermsAccepted
                        ? AppColors.primaryColor
                        : Colors.white,
                    borderColor: model.isTermsAccepted
                        ? AppColors.primaryColor
                        : AppColors.duskColor,
                    onChanged: (value) {
                      model.isTermsAccepted = value;
                      model.notifyListeners();
                    }),
                SizedBox(
                  width: 8,
                ),
                Expanded(
                  child: Padding(
                    padding: const EdgeInsets.only(top: 4.0),
                    child: Text.rich(
                      TextSpan(
                          text: '${AppLocalizations.of(context).acceptFor} ',
                          style: AppStyles.textStyle(context,
                              fontSize: 14,
                              fontWeight: FontWeight.w600,
                              height: 1.5),
                          children: [
                            TextSpan(
                                text: AppLocalizations.of(context)
                                    .termsAndCondition,
                                style: AppStyles.italicStyle(context,
                                    fontSize: 14,
                                    fontWeight: FontWeight.w700,
                                    height: 1.5),
                                recognizer: TapGestureRecognizer()
                                  ..onTap = () {
                                    UiHelper.launchUrl(
                                        context, appConfig.parameters.cguUrl);
                                  }),
                          ]),
                    ),
                  ),
                ),
              ],
            ),
            SizedBox(
              height: 24,
            ),
            PrimaryButton(
              onPressed: () {
                model.handleLogin(context);
              },
              label: AppLocalizations.of(context).validate,
            ),
          ],
        ),
      )),
    );


推荐阅读