【发布时间】:2019-03-02 09:24:09
【问题描述】:
TL;DR
是否可以像Column's spaceBetween 对齐ListView's 子级对齐?
就像这个截图:
我试图解决的问题:
一开始我有一个带有 2 个孩子的 Column 小部件。 Column's 对齐设置为 spaceBetween。这就是我想要的,顶部一个小部件,底部一个。但是当我单击输入以添加凭据时,键盘导致此 GitHub issue 中描述的溢出问题。所以为了修复它,我用ListView 替换了Column。但现在我的孩子小部件卡在屏幕顶部。
我的完整LoginScreen代码:
import 'package:flutter/material.dart';
import '../widgets/button.dart';
import '../widgets/input.dart';
import '../widgets/logo.dart';
class LoginScreen2 extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Stack(
children: <Widget>[
Background(),
Wrapper(),
],
),
);
}
}
class Background extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
decoration: BoxDecoration(
gradient: LinearGradient(
begin: Alignment.bottomCenter,
end: Alignment.topCenter,
colors: [
Color(0xfff6f6f6),
Colors.white,
],
),
),
);
}
}
class Wrapper extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ListView(
children: <Widget>[
Logo(LogoColor.dummy_black),
Align(
alignment: Alignment.bottomCenter,
child: Padding(
padding: const EdgeInsets.all(20),
child: BottomPart(),
),
),
],
);
}
}
class BottomPart extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Column(
children: <Widget>[
Input('User name'),
Input('Password'),
Button(
'Log in',
onPressed,
),
],
);
}
void onPressed() {}
}
【问题讨论】:
标签: flutter