Browse Source

feat: 为录音语言弹窗添加自定义标题支持并优化模板名称显示

- 为 RecordLanguageBottomSheet 新增可选的 title 参数,允许在特定场景(如设置目标语言时)显示自定义标题
- 在 generate_bottom_sheet 中调用时传入 'targetLanguage'.tr 作为标题,提升上下文清晰度
- 在 template_view 和 template_all_view 中优化模板名称的显示,使用 FittedBox 确保长文本单行显示且不溢出,并添加 Spacer 改善布局
weicu
lxm 7 months ago
parent
commit
969784a24c
  1. 2
      lib/modules/meeting/views/bottomSheet/generate_bottom_sheet.dart
  2. 5
      lib/modules/meeting/views/bottomSheet/record_language_bottom_sheet.dart
  3. 9
      lib/modules/meeting/views/template/template_all_view.dart
  4. 9
      lib/modules/meeting/views/template/template_view.dart

2
lib/modules/meeting/views/bottomSheet/generate_bottom_sheet.dart

@ -313,7 +313,7 @@ class _GenerateBottomSheetState extends State<GenerateBottomSheet> {
isDarkMode: isDarkMode, isDarkMode: isDarkMode,
onTap: () { onTap: () {
Get.bottomSheet( Get.bottomSheet(
RecordLanguageBottomSheet(_tolanguage), RecordLanguageBottomSheet(_tolanguage, title: 'targetLanguage'.tr),
isScrollControlled: true, isScrollControlled: true,
backgroundColor: backgroundColor:
isDarkMode ? Colors.grey[850] : Colors.grey[100], isDarkMode ? Colors.grey[850] : Colors.grey[100],

5
lib/modules/meeting/views/bottomSheet/record_language_bottom_sheet.dart

@ -4,8 +4,9 @@ import 'package:get/get.dart';
class RecordLanguageBottomSheet extends StatefulWidget { class RecordLanguageBottomSheet extends StatefulWidget {
final String language; final String language;
final String? title;
const RecordLanguageBottomSheet(this.language, {super.key}); const RecordLanguageBottomSheet(this.language, {super.key, this.title});
@override @override
State<RecordLanguageBottomSheet> createState() => State<RecordLanguageBottomSheet> createState() =>
@ -43,7 +44,7 @@ class _RecordLanguageBottomSheetState extends State<RecordLanguageBottomSheet> {
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
Text( Text(
'recordLanguage'.tr, // 对应中文:录音语言 widget.title ?? 'recordLanguage'.tr, // 对应中文:录音语言
style: TextStyle( style: TextStyle(
fontSize: 16.sp, fontSize: 16.sp,
color: isDarkMode ? Colors.white : Colors.black87, color: isDarkMode ? Colors.white : Colors.black87,

9
lib/modules/meeting/views/template/template_all_view.dart

@ -209,8 +209,14 @@ class _TemplateAllViewState extends State<TemplateAllView> {
), ),
Padding( Padding(
padding: EdgeInsets.symmetric(vertical: 10.w), padding: EdgeInsets.symmetric(vertical: 10.w),
child: SizedBox(
height: 22.w,
child: FittedBox(
fit: BoxFit.scaleDown,
alignment: Alignment.centerLeft,
child: Text( child: Text(
template['name'], template['name'],
maxLines: 1,
style: TextStyle( style: TextStyle(
fontSize: 16.sp, fontSize: 16.sp,
color: isDarkMode ? Colors.white : Colors.black87, color: isDarkMode ? Colors.white : Colors.black87,
@ -218,6 +224,9 @@ class _TemplateAllViewState extends State<TemplateAllView> {
), ),
), ),
), ),
),
),
const Spacer(),
template['tag'].isNotEmpty template['tag'].isNotEmpty
? Wrap( ? Wrap(
spacing: 5.w, spacing: 5.w,

9
lib/modules/meeting/views/template/template_view.dart

@ -291,8 +291,14 @@ class _TemplateViewState extends State<TemplateView> {
), ),
Padding( Padding(
padding: EdgeInsets.symmetric(vertical: 10.w), padding: EdgeInsets.symmetric(vertical: 10.w),
child: SizedBox(
height: 22.w,
child: FittedBox(
fit: BoxFit.scaleDown,
alignment: Alignment.centerLeft,
child: Text( child: Text(
template['name'], template['name'],
maxLines: 1,
style: TextStyle( style: TextStyle(
fontSize: 16.sp, fontSize: 16.sp,
color: isDarkMode ? Colors.white : Colors.black87, color: isDarkMode ? Colors.white : Colors.black87,
@ -300,6 +306,9 @@ class _TemplateViewState extends State<TemplateView> {
), ),
), ),
), ),
),
),
const Spacer(),
template['tag'].isNotEmpty template['tag'].isNotEmpty
? Wrap( ? Wrap(
spacing: 5.w, spacing: 5.w,

Loading…
Cancel
Save