各种移动设备上的颤动响应问题

问题描述 投票:2回答:2

我是Flutter的初学者,我尝试创建一个虚拟的登录页面。当我尝试运行该应用程序时,它在Pixel 3 XL上没有问题,但在Pixel 2 XL上却不好。我将如何管理响应能力?我遇到了MediaQuery小部件,但是如何为每个设备创建一个完全响应的应用程序?当今的移动设备之间存在多种变化(例如,带缺口的显示屏,全屏等),随后便是平板电脑。我该如何处理?我应该为每种分辨率编写代码吗?

[这是我在Pixel 3 XL和Pixel 2 XL上的设计

running on pixel 3 XL

running on pixel 2 XL

flutter dart flutter-layout flutter-dependencies flutter-test
2个回答
2
投票

您可以将SingleChildScrollView用作父级,

SingleChildScrollView(
      child: Container(
        width: MediaQuery.of(context).size.width,
        height: MediaQuery.of(context).size.height,
        child: Stack(
        ),
      ),
    );

编辑:还要从fit: StackFit.expand,小部件中删除Stack


0
投票

此问题的原因是高度为100px的sizebox窗口小部件。删除并使用mainaxisalignment均匀地获得所需的输出。这是修改后的代码:

 @override
  Widget build(BuildContext context) {
    return Scaffold(
      resizeToAvoidBottomPadding: false,
      body: Stack(
        fit: StackFit.expand,
        children: <Widget>[
          bgimage,
         Column(
           mainAxisAlignment: MainAxisAlignment.spaceEvenly,
              children: <Widget>[
                logoimage,    
                userName(),    
                password(),
                forgotPassword(),    
                loginButton(),
                googleSignIn(),
                signUp()
              ],
            ),
        ],
      ),
    );
  }

这解决了问题。

© www.soinside.com 2019 - 2024. All rights reserved.