为什么按下Flutter图标按钮不起作用



我的应用程序可以选择登录谷歌、OTP和苹果,以及普通的电子邮件和密码。我在登录屏幕底部有一个部分,里面有所有用于登录socials的按钮,但由于某种原因,它们停止了调用这些函数。它们是三个包裹在Containers中的IconButtons,用于背景和形状,它们工作得很好,直到突然之间没有了。还有一个TextButton可以在那些不工作的帐户下创建帐户,但它们上面的ElevatedButtonTextFormFields可以正常工作。我唯一改变的是一些UI,但没有任何影响。当我按下它们时,没有任何错误,只是什么都没发生。

社交按钮代码:

Container(
decoration: BoxDecoration(
border: const Border(
top: BorderSide(color: Color(0xFF7FCCDC), width: 3),
bottom: BorderSide(color: Color(0xFF7FCCDC), width: 3),
left: BorderSide(color: Color(0xFF7FCCDC), width: 3),
right: BorderSide(color: Color(0xFF7FCCDC), width: 3)),
borderRadius: BorderRadius.circular(20)),
child: Column(
children: [
const SizedBox(height: 15),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
'Sign in with socials',
style: TextStyle(
fontSize: 15,
color: const Color(0xFF6B6FAB).withOpacity(0.75),
),
),
],
),
const SizedBox(height: 5),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Padding(
padding: const EdgeInsets.symmetric(horizontal: 8),
child: Container(
height: 60,
width: 60,
decoration: BoxDecoration(
color: const Color(0xFF7157A0),
borderRadius: BorderRadius.circular(10)),
child: IconButton(
onPressed: () {
if (kDebugMode) {
print('otp');
}
showBarModalBottomSheet(
context: context,
builder: (context) =>
const PhoneAuthScreen());
},
icon: FaIcon(FontAwesomeIcons.solidMessage,
color:
const Color(0xFFFCFBF4).withOpacity(0.75)),
),
),
),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 8),
child: Container(
height: 60,
width: 60,
decoration: BoxDecoration(
color: const Color(0xFF7157A0),
borderRadius: BorderRadius.circular(10)),
child: IconButton(
onPressed: () {
if (kDebugMode) {
print('apple');
}
AppleAuth.signInWithApple();
},
icon: FaIcon(FontAwesomeIcons.apple,
color:
const Color(0xFFFCFBF4).withOpacity(0.75)),
),
),
),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 8),
child: Container(
height: 60,
width: 60,
decoration: BoxDecoration(
color: const Color(0xFF7157A0),
borderRadius: BorderRadius.circular(10)),
child: IconButton(
onPressed: () {
if (kDebugMode) {
print('google');
}
signInWithGoogle();
},
icon: FaIcon(FontAwesomeIcons.google,
color:
const Color(0xFFFCFBF4).withOpacity(0.75)),
),
),
),
],
),
const SizedBox(height: 15),
],
),
),
showBarModalBottomSheet(
context: context,
builder: (context) => const PhoneAuthScreen());
)

您是否创建了一个名为showBarModelBottomSheet的自定义方法?我猜你在这个类上错误地创建了一个方法。如果没有,请使用showModalBottomSheet。从上面的代码中删除条形图。所以它应该像这个

showModalBottomSheet(
context: context,
builder: (context) => const PhoneAuthScreen());
)

最新更新