我有以下代码
void showShortBioDialog(BuildContext context) {
showDialog(
context: context,
barrierDismissible: false,
builder: (BuildContext context) {
return Dialog(
child: Stack(
overflow: Overflow.visible,
children: <Widget>[
Container(
child: Padding(
padding: const EdgeInsets.fromLTRB(0, 10, 0, 40),
child: Text(
"Short Bio",
textAlign: TextAlign.center,
style: TextStyle(color: white, fontFamily: "BarlowBold"),
),
),
color: blue2,
width: double.infinity,
),
Positioned(
top: 30,
right: -5,
left: -5,
child: Card(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(5),
),
elevation: 0,
child: Container(
height: 180,
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 10),
child: TextField(),
),
),
),
),
Positioned(
bottom: -170,
right: 0,
left: 0,
child: IconButton(
onPressed: () {
print("hi");
},
iconSize: 35,
icon: Image.asset(
"images/next_signup.webp",
fit: BoxFit.fill,
height: 35,
width: 35,
),
),
)
],
),
);
});
}
在对话框看起来正确,因为我想和对话被触发画面出现时。但从未调用iconbutton's
onPressed
我试图用更换图标按钮InkWell
,RaisedButton
,FlatButton
等,但在onPressed
不会被调用该按钮。
图标按钮的位置也是堆栈中的最后一个,但是我仍然困惑为什么不单击它的单击。
我想要的输出类似的后续
https://drive.google.com/file/d/1K12-Dw4xRzHNd9N1gM02TcHd6TdK319Y/view?usp=sharing
答案 0 :(得分:0)
我认为是因为溢出。如果您评论overflow: Overflow.visible
,那么您将完全看不到该图像。尝试使对话框足够大,以使图像位于顶部而不会溢出。