bae*_*ram 5 layout dart flutter
我在寻找答案,但找不到。
为什么“列”窗口小部件在子窗口小部件之间留出空间?
我想删除此小部件布局。下面是我的代码和空格位置。
码!!
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
void main() {
SystemChrome.setEnabledSystemUIOverlays([]);
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Clock',
theme: ThemeData(
primaryColor: Colors.blue
),
home: Social(),
debugShowCheckedModeBanner: false,
);
}
}
class Social extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.white,
elevation: 0.0
),
backgroundColor: Colors.white,
body: Column(
children: <Widget>[
Flexible(
flex: 1,
child: Row(
children: <Widget>[
ClipOval(
clipper: CircleClipper(),
child: Image.asset('assets/irene.jpg')
),
Expanded(
child: Padding(
padding: const EdgeInsets.only(left: 8.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Align(
alignment: Alignment.centerLeft,
child: Text(
'Irene',
style: TextStyle(
color: Colors.blue,
fontWeight: FontWeight.bold,
fontSize: 15.0
)
)
),
Align(
alignment: Alignment.centerLeft,
child: Text('Yesterday, Ney York')
)
],
),
),
),
Align(
alignment: Alignment.topRight,
child: IconButton(
color: Theme.of(context).primaryColor,
icon: Icon(Icons.menu),
onPressed: (){},
),
)
],
),
),
Container(
width: MediaQuery.of(context).size.width/1.1,
height: MediaQuery.of(context).size.height/2,
child: Card(
child: Image.asset('assets/irene.jpg'),
color: Colors.white,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(30.0)),
elevation: 10.0,
),
),
Padding(
padding: const EdgeInsets.only(left: 30.0,right: 30.0,top: 15.0),
child: Row(
children: <Widget>[
Image(
image: AssetImage('assets/like.png'),
width: 30.0,
height: 30.0,
),
SizedBox(width: 20.0,),
Image.asset('assets/chat.png'),
Expanded(child: Container()),
Image.asset('assets/share.png'),
],
),
),
Expanded(child: Container()),
],
),
);
}
}
class CircleClipper extends CustomClipper<Rect> {
@override
Rect getClip(Size size) {
return Rect.fromCircle(center: Offset(size.width/2,size.height/4), radius: size.width/3);
}
@override
bool shouldReclip(CustomClipper<Rect> oldClipper) {
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
我该如何修复它以及必须使用哪些小部件?
为了使Column的子窗口小部件大小,我必须使用Flexible,Expanded等。
是否有其他任何窗口小部件都可以满足此条件?
那是因为您正在使用Flexible,它会扩展Widget内部以填充可用空间。
改变这个:
body: Column(
children: <Widget>[
Flexible(
flex: 1,
Run Code Online (Sandbox Code Playgroud)
对此:
body: Column(
children: <Widget>[
SizedBox(
height: 60.0,
Run Code Online (Sandbox Code Playgroud)
它应该工作
| 归档时间: |
|
| 查看次数: |
2798 次 |
| 最近记录: |