잡동사니

반응형

질문

TextField에 초점이 맞춰지면 콘텐츠가 iOS에서 위로 스크롤되지만 Android에서는 작동하지 않습니다. AndroidManifest 파일에서 변경하는 데 필요한 위젯 계층 또는 일부 구성을 변경해야합니까? 또한 Scaffold의 resizeToAvoidBottomInset 및 resizeToAvoidBottomPadding 속성을 시도했습니다.

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,
                      ),
                    ),
                  ),
                ],
              ),
            ),
          ),
        ),
      ],
    ),
  ),
);

}

UI입니다.

 

답변1

화면을 "크기 조정", 즉 커서로 이동하려면 Android 매니페스트에 다음이 있어야합니다.

<application
  ...
  <activity
    ...
    android:windowSoftInputMode="adjustResize"



답변2

마침내 내 문제를 해결했습니다. styles.xml의 <item name = "android:windowFullscreen">true</item>때문이었습니다.



 

 

 

 

출처 : https://stackoverflow.com/questions/61227116/flutter-keyboard-hides-textfield-in-android-but-working-fine-in-ios

반응형

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band