Browse Source

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

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

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

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