Browse Source

fix(login): 重构社交登录按钮渲染逻辑以修复间距问题

重构社交登录按钮的渲染逻辑,使用列表构建和循环渲染代替条件运算符,确保按钮间间距一致。避免在条件分支中手动添加 SizedBox 导致的间距缺失问题。
weicu
lxm 8 months ago
parent
commit
ebf96e7f9e
  1. 51
      lib/modules/login/views/login_view.dart
  2. 2
      pubspec.yaml

51
lib/modules/login/views/login_view.dart

@ -446,33 +446,38 @@ class LoginView extends GetView<LoginController> {
], ],
), ),
SizedBox(height: 24.h), SizedBox(height: 24.h),
Row( Builder(
builder: (_) {
final buttons = <Widget>[];
if (controller.isChinaMainland.value) {
buttons.add(_buildSocialButton(
FontAwesomeIcons.weixin, Colors.green, isDarkMode));
} else if (GetPlatform.isAndroid) {
buttons.add(_buildSocialButton(
FontAwesomeIcons.google, Colors.red, isDarkMode));
}
if (GetPlatform.isIOS) {
buttons.add(_buildSocialButton(
FontAwesomeIcons.apple, Colors.black, isDarkMode));
}
if (controller.isGuestLoginVisible) {
buttons.add(_buildSocialButton(
FontAwesomeIcons.userSecret, Colors.black, isDarkMode));
}
return Row(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
if (controller.isChinaMainland.value) ...[ for (int i = 0; i < buttons.length; i++) ...[
_buildSocialButton( if (i > 0) SizedBox(width: 24.w),
FontAwesomeIcons.weixin, Colors.green, isDarkMode), buttons[i],
] else if (GetPlatform.isAndroid) ...[
_buildSocialButton(
FontAwesomeIcons.google, Colors.red, isDarkMode),
],
// Apple登录按钮(仅在iOS上显示)
if (GetPlatform.isIOS) ...[
SizedBox(width: 24.w),
_buildSocialButton(
FontAwesomeIcons.apple, Colors.black, isDarkMode),
],
// SizedBox(width: 24.w),
// _buildSocialButton(
// FontAwesomeIcons.facebook, Colors.blue, isDarkMode),
// 根据配置显示游客登录按钮
if (controller.isGuestLoginVisible) ...[
SizedBox(width: 24.w),
_buildSocialButton(FontAwesomeIcons.userSecret, Colors.black,
isDarkMode), // 游客登录按钮
], ],
], ],
);
},
), ),
], ],
); );

2
pubspec.yaml

@ -1,7 +1,7 @@
name: voitrans name: voitrans
description: "Voitrans - AI Voice Assistant." description: "Voitrans - AI Voice Assistant."
publish_to: "none" publish_to: "none"
version: 1.0.22+72 version: 1.0.23+97
environment: environment:
sdk: ">=3.3.0 <4.0.0" sdk: ">=3.3.0 <4.0.0"

Loading…
Cancel
Save