【发布时间】:2020-05-20 23:57:57
【问题描述】:
我也在尝试使用Flutter 中的Stack 来重叠登录屏幕中的元素。基本上,我在顶部有一个图像,然后在底部(重叠)一个带有徽标和登录字段、按钮等的 Container。
下面是我的代码
import 'package:flutter/material.dart';
class LoginPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
body: LoginUI(),
);
}
}
class LoginUI extends StatefulWidget {
@override
State<StatefulWidget> createState() {
// TODO: implement createState
return LoginState();
}
}
class LoginState extends State<LoginUI> {
@override
Widget build(BuildContext context) {
return Container(
child: Stack(
fit: StackFit.loose,
children: <Widget>[
SafeArea(
child: Container(
child: Image.asset("assets/images/login_image.png"),
),
),
Positioned(
top: 280,
child: Container(
width: MediaQuery.of(context).size.width,
decoration: new BoxDecoration(
color: Colors.green,
borderRadius: new BorderRadius.only(
topLeft: const Radius.circular(40.0),
topRight: const Radius.circular(40.0))),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Row(mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Flexible(child: Container(child:Image.asset("assets/images/logot.png"),),)
],),
],
),
),
),
],
)
//child: Image.asset("assets/images/login_image.png"),
);
}
@override
void initState() {
// TODO: implement initState
super.initState();
}
}
结果不如预期,见下文。
徽标已完成一半,Container 似乎卡在了它的高度。我尝试将高度作为设备高度添加到容器中,但实际上没有发生任何事情。
我什至尝试在这个容器的列中添加更多内容,但没有一个真正出现。
我需要这个容器来承受剩下的高度,所以我可以添加内容。
我该如何解决这个问题?
编辑
我想要的在下面。请注意顶部图像如何与底部容器重叠。
【问题讨论】:
-
给容器高度 double.infinity
-
@Avinash:这让标志消失了。
-
请分享你想要的屏幕
-
屏幕已经在上面了。我已经解释了这个问题。问题是容器没有调整大小,即使它正确重叠。
-
@PeakGen 检查我的答案
标签: android ios flutter mobile