如何在颤动的屏幕底部放置一行
Posted
技术标签:
【中文标题】如何在颤动的屏幕底部放置一行【英文标题】:How To Place a Row at Bottom of the screen in flutter 【发布时间】:2020-11-07 18:01:06 【问题描述】:我有 3 列我想使用这些列制作不可滚动的屏幕 前 2 列只有一个图像 最后一列有一行,其中有四个图标 我想将最后一列在屏幕底部有一个行图标,用于我想要相同的每种尺寸的屏幕 现在它的样子
body: Center(
child: Container(
decoration: BoxDecoration(
gradient: LinearGradient(
begin: Alignment.topRight,
end: Alignment.bottomLeft,
colors: [barColor, Colors.white])),
child: ListView(
physics: const NeverScrollableScrollPhysics(),
children: <Widget>[
Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Image.asset(
'assets/images/istv.png',
fit: BoxFit.cover,
),
],
),
InkWell(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Image.asset(
'assets/images/live.png',
fit: BoxFit.cover,
),
],
),
onTap: ()
_launchInApp(_launchUrl);
,
),
Column(
children: <Widget>[
Align(
alignment: Alignment.bottomCenter,
child: Row(
crossAxisAlignment: CrossAxisAlignment.end,
children: <Widget>[
Expanded(
child: InkWell(
child :Container(
child: Image.asset(''
'assets/images/fb.png',
height: 200,
fit: BoxFit.cover,
) ,
),
onTap: ()
openfb();
,
),
),
Expanded(
child: InkWell(
child :Container(
child: Image.asset(''
'assets/images/insta.png',
height: 200,
fit: BoxFit.cover,
) ,
),
onTap: ()
openinsta();
,
),
),
Expanded(
child: InkWell(
child :Container(
child: Image.asset(''
'assets/images/yt.png',
height: 200,
fit: BoxFit.cover,
) ,
),
onTap: ()
openyt();
,
),
),
Expanded(
child: InkWell(
child :Container(
child: Image.asset(''
'assets/images/share.png',
height: 200,
fit: BoxFit.cover,
) ,
),
onTap: () Share.share('check out my website https://example.com');
),
)
],
),
),
],
),
],
),
)
)
【问题讨论】:
请尝试重新表述您的问题。你写的整段绝对没有标点符号。这让人很难理解。 【参考方案1】:如果我理解了你的问题,这并不容易,我相信这就是你想要做的:
class UI62962286 extends StatelessWidget
@override
Widget build(BuildContext context)
return Column(
children: <Widget>[
Expanded(
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: <Widget>[
Container(
child: Icon(Icons.accessibility),
height: 10,
),
Container(
child: Icon(Icons.account_balance),
height: 10,
),
],
)
),
Container(
padding: EdgeInsets.all(8.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: <Widget>[
Icon(Icons.account_balance_wallet),
Icon(Icons.adb),
Icon(Icons.account_box),
Icon(Icons.ac_unit),
],
),
),
],
);
看起来像这样:
【讨论】:
【参考方案2】:在小部件中试试这个:
body: Center(
child: Column(
children: <Widget>[
Text(
'Start Row',
),
Expanded(child:
Center(child:Text('Middle Row')),
),
Text('End Row'),
],
),
),
在哪里看到要插入行的文本。无论您的屏幕有多大,展开都会占用中间的所有空间。您可以级联该设计理念。
【讨论】:
以上是关于如何在颤动的屏幕底部放置一行的主要内容,如果未能解决你的问题,请参考以下文章