diff --git a/lib/modules/translation/views/translation_view.dart b/lib/modules/translation/views/translation_view.dart index fed9c1558..25bb2f715 100644 --- a/lib/modules/translation/views/translation_view.dart +++ b/lib/modules/translation/views/translation_view.dart @@ -206,16 +206,39 @@ class TranslationView extends GetView { : Colors.grey[100], borderRadius: BorderRadius.circular(16.r), ), - child: Obx(() => Text( - '${controller.targetLanguage.value.split(' ')[0]}' - .tr, // Just show the English part - style: TextStyle( - fontSize: 16.sp, - fontWeight: FontWeight.w600, - color: isDarkMode ? Colors.white : Colors.black, - ), - textAlign: TextAlign.center, - overflow: TextOverflow.ellipsis, + child: Obx(() => Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Flexible( + child: Text( + '${controller.targetLanguage.value.split(' ')[0]}' + .tr, + style: TextStyle( + fontSize: 16.sp, + fontWeight: FontWeight.w600, + color: + isDarkMode ? Colors.white : Colors.black, + ), + textAlign: TextAlign.center, + overflow: TextOverflow.ellipsis, + ), + ), + SizedBox(width: 4.w), + // Icon( + // Icons.public, + // size: 20.sp, + // color: isDarkMode + // ? Colors.white70 + // : Colors.grey[600], + // ), + Icon( + Icons.person_pin_circle, + size: 20.sp, + color: isDarkMode + ? Colors.white70 + : Colors.grey[600], + ), + ], )), ), ), @@ -418,23 +441,27 @@ class TranslationView extends GetView { Row( mainAxisAlignment: MainAxisAlignment.center, children: [ - // 耳机图标按钮 (说话者1) - _buildHoldToTalkButton( - isDarkMode: isDarkMode, - speakerId: 1, - activeSpeaker: controller.activeSpeaker.value, - icon: Icons.headset, - label: "headsetUser".tr, - ), - SizedBox(width: 40.w), - // 手机图标按钮 (说话者2) - _buildHoldToTalkButton( - isDarkMode: isDarkMode, - speakerId: 2, - activeSpeaker: controller.activeSpeaker.value, - icon: Icons.phone_android, - label: "phoneUser".tr, - ), + // 耳机图标按钮 (说话者1)-显示源语言 + Obx(() => _buildHoldToTalkButton( + isDarkMode: isDarkMode, + speakerId: 1, + activeSpeaker: controller.activeSpeaker.value, + icon: Icons.mic_none, + label: controller.sourceLanguage.value + .split(' ')[0] + .tr, // 源语言名称 + )), + SizedBox(width: 16.w), + // 手机图标按钮 (说话者2)-显示目标语言 + Obx(() => _buildHoldToTalkButton( + isDarkMode: isDarkMode, + speakerId: 2, + activeSpeaker: controller.activeSpeaker.value, + icon: Icons.mic_none, + label: controller.targetLanguage.value + .split(' ')[0] + .tr, // 目标语言名称 + )), ], ) else @@ -569,15 +596,15 @@ class TranslationView extends GetView { }, child: AnimatedContainer( duration: const Duration(milliseconds: 200), - width: 80.w, - height: 80.w, + width: 160.w, // 长条形宽度 + height: 54.h, // 长条形高度 decoration: BoxDecoration( color: isActive ? (isDarkMode ? Colors.green[700] : Colors.green) : (isDisabled ? (isDarkMode ? Colors.grey[800] : Colors.grey[300]) : (isDarkMode ? AppColors.primary : Colors.blue)), - shape: BoxShape.circle, + borderRadius: BorderRadius.circular(25.r), // 圆角长条形 boxShadow: isActive ? [ BoxShadow( @@ -586,32 +613,42 @@ class TranslationView extends GetView { spreadRadius: 3, ) ] - : null, + : [ + BoxShadow( + color: (isDarkMode ? Colors.black : Colors.grey) + .withOpacity(0.2), + blurRadius: 8, + spreadRadius: 1, + offset: Offset(0, 2), + ) + ], ), - child: Column( + child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ - Stack( - alignment: Alignment.center, - children: [ - // 设备类型图标 - Icon( - icon, + // 左边图标 + Icon( + icon, + color: isActive + ? Colors.white + : Colors.white.withOpacity(isDisabled ? 0.3 : 0.9), + size: 20.sp, + ), + SizedBox(width: 8.w), // 图标和文字间距 + // 右边语言名称 + Flexible( + child: Text( + label, + style: TextStyle( + fontSize: 12.sp, + fontWeight: FontWeight.w500, color: isActive ? Colors.white : Colors.white.withOpacity(isDisabled ? 0.3 : 0.9), - size: 24.sp, ), - ], - ), - SizedBox(height: 4.h), - Text( - label, - style: TextStyle( - fontSize: 12.sp, - color: isActive - ? Colors.white - : Colors.white.withOpacity(isDisabled ? 0.3 : 0.9), + textAlign: TextAlign.center, + maxLines: 1, + overflow: TextOverflow.ellipsis, // 防止文本溢出 ), ), ],