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. 21
      lib/modules/meeting/views/template/template_all_view.dart
  4. 21
      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,
onTap: () {
Get.bottomSheet(
RecordLanguageBottomSheet(_tolanguage),
RecordLanguageBottomSheet(_tolanguage, title: 'targetLanguage'.tr),
isScrollControlled: true,
backgroundColor:
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 {
final String language;
final String? title;
const RecordLanguageBottomSheet(this.language, {super.key});
const RecordLanguageBottomSheet(this.language, {super.key, this.title});
@override
State<RecordLanguageBottomSheet> createState() =>
@ -43,7 +44,7 @@ class _RecordLanguageBottomSheetState extends State<RecordLanguageBottomSheet> {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
'recordLanguage'.tr, // 对应中文:录音语言
widget.title ?? 'recordLanguage'.tr, // 对应中文:录音语言
style: TextStyle(
fontSize: 16.sp,
color: isDarkMode ? Colors.white : Colors.black87,

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

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

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

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

Loading…
Cancel
Save