我正在制作一个登录屏幕,从中学到的知识,我需要使用 SingleChildScrollView 来防止TextFields聚焦时出现“黄色条纹”问题。
每当我添加 SingleChildScrollView 时,由于MainAxisAlignment不再起作用,也许会丢失任何类型的小部件对齐:
的效果如何SignleChildScrollView :Screenshot with SingleChildScrollView
它应该是什么样的:Screenshot without SingleChildScrollView
我已经尝试过任何方法,但无法解决。

      body: SafeArea(
        child: SingleChildScrollView(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.end,
            crossAxisAlignment: CrossAxisAlignment.center,
            children: [
              Container(
                padding: EdgeInsets.only(bottom: 50),
                child: TypeScript(textTypeScript: tsLogin),
              ),
              Container(
                width: MediaQuery.of(context).size.width / 1.2,
                child: Column(
                  children: [
                    emailField,
                    SizedBox(height: 20),
                    passwordField,
                    Container(
                      height: 80,
                      padding: EdgeInsets.only(top: 10),
                      alignment: Alignment.topRight,
                      //child: passwordRecovery,
                    ),
                    Container(
                      child: loginButton,
                    ),
                    SizedBox(
                      height: 52,
                      width: MediaQuery.of(context).size.height; / 2,
                      child: orStripe,
                    ),
                    Container(
                      padding: EdgeInsets.only(bottom: 10),
                      child: signButton,
                    ),
                  ],
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

最佳答案

尝试用以下内容替换SingleChildscrollview:

CustomScrollView(
  slivers[
    SliverFillRemaining(
      hasScrollBody: false,
      child: YourChildWidget(),
    ),
  ),
)

关于flutter - 如何使用ScrollView而不弄乱实际布局的顺序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64649584/

10-13 04:39