颤振 - 带有底部文本字段的容器
Posted
技术标签:
【中文标题】颤振 - 带有底部文本字段的容器【英文标题】:flutter - Container with bottom text field 【发布时间】:2020-06-25 10:12:14 【问题描述】:我有圆形头像。我想在avatar
的底部添加每个circle's avatar
名称。但我不能这样做。当我运行下面的代码时,text
出现在avatar
上。
我的代码
child: Container(
height: 60.0,
width: 60.0,
margin: EdgeInsets.all(6.0),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(100.0),
boxShadow: [
new BoxShadow(
color: Color.fromARGB(100, 20, 0, 0),
blurRadius: 5.0,
offset: Offset(5.0, 5.0))
],
border: Border.all(
width: 2.0,
style: BorderStyle.solid,
color: Colors.purple),
image: DecorationImage(
fit: BoxFit.cover,
image: NetworkImage(userData[x]["image"]))),
child: new Text(userData[x]["name"], style: TextStyle(fontSize: 20.0),),
)
));
【问题讨论】:
只需在 Text 小部件周围提供顶部填充。 @JitenBasnet 它不能正常工作。一样。 @jancooth 我更新了答案请检查 【参考方案1】:如果您尝试这样实现:
然后您可以使用Column
或Stack
小部件。
我将Stack 与Align 小部件一起使用。
代码:
Container(
height: 80.0,
width: 80.0,
child: Stack(
children: <Widget>[
Container(
height: 60.0,
width: 60.0,
margin: EdgeInsets.all(6.0),
decoration: BoxDecoration(
// shape: BoxShape.circle,
borderRadius: BorderRadius.circular(100.0),
boxShadow: [
new BoxShadow(
color: Color.fromARGB(100, 20, 0, 0),
blurRadius: 5.0,
offset: Offset(5.0, 5.0))
],
border: Border.all(
width: 2.0,
style: BorderStyle.solid,
color: Colors.purple),
image: DecorationImage(
fit: BoxFit.cover,
image: NetworkImage("https://image.shutterstock.com/image-photo/cute-baby-girl-sitting-on-260nw-689375770.jpg"))),
// child:
),
Align(
alignment: Alignment.bottomCenter,
child: new Text("name", style: TextStyle(fontSize: 20.0),),
)
],
),
)
【讨论】:
@jancooth 快乐是我的 :)【参考方案2】:您可以尝试以下方法:
Container(
child: Column(
children: <Widget>[
Container(
height: 60.0,
width: 60.0,
alignment: Alignment.bottomCenter,
margin: EdgeInsets.all(6.0),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(100.0),
boxShadow: [
new BoxShadow(
color: Color.fromARGB(100, 20, 0, 0),
blurRadius: 5.0,
offset: Offset(5.0, 5.0))
],
border: Border.all(
width: 2.0,
style: BorderStyle.solid,
color: Colors.purple),
image: DecorationImage(
fit: BoxFit.cover,
image: NetworkImage(
"https://source.unsplash.com/random"))),
),
Text(
"text....",
style: TextStyle(fontSize: 16.0),
)
],
),
)
【讨论】:
【参考方案3】:您可以使用堆栈小部件,如下所示:-
Container(
height: 60,
child: Stack(
children: <Widget>[
Container(
height: 60.0,
width: 60.0,
margin: EdgeInsets.all(6.0),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(100.0),
boxShadow: [
new BoxShadow(
color: Color.fromARGB(100, 20, 0, 0),
blurRadius: 5.0,
offset: Offset(5.0, 5.0))
],
border: Border.all(
width: 2.0,
style: BorderStyle.solid,
color: Colors.purple),
image: DecorationImage(
fit: BoxFit.cover,
image: NetworkImage(userData[x]["image"]))),
),
Positioned(
bottom: 5.0,
right:5.0
child: Text(userData[x]["name"], style: TextStyle(fontSize: 20.0),),
)
],
),
)
【讨论】:
您希望在图像底部还是图像下方显示文本? 图片底部 由于文字过大导致文字不能放在底部尝试减小文字大小或增加容器大小以上是关于颤振 - 带有底部文本字段的容器的主要内容,如果未能解决你的问题,请参考以下文章