From d366cecaf6016159e9c62c89c3353d9de9288ea6 Mon Sep 17 00:00:00 2001 From: lxm <1274844347@qq.com> Date: Thu, 10 Jul 2025 21:52:05 +0800 Subject: [PATCH] =?UTF-8?q?refactor(ui):=20=E4=BC=98=E5=8C=96=E9=80=9A?= =?UTF-8?q?=E8=AF=9D=E7=95=8C=E9=9D=A2=E7=9A=84=E5=B8=83=E5=B1=80=E5=92=8C?= =?UTF-8?q?=E5=93=8D=E5=BA=94=E5=BC=8F=E8=AE=BE=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将通话覆盖层改为透明,仅保留底部控制栏的背景 - 使用响应式单位(w/h/sp)替换固定尺寸 - 调整按钮的阴影和边框使用响应式单位 --- lib/modules/agent/views/agent_view.dart | 44 ++++++++++++--------- lib/modules/devices/views/devices_view.dart | 2 +- 2 files changed, 27 insertions(+), 19 deletions(-) diff --git a/lib/modules/agent/views/agent_view.dart b/lib/modules/agent/views/agent_view.dart index b93eb2fbf..ed13c720a 100644 --- a/lib/modules/agent/views/agent_view.dart +++ b/lib/modules/agent/views/agent_view.dart @@ -899,20 +899,28 @@ class _AgentViewState extends State with WidgetsBindingObserver { // 构建打电话模式覆盖层 Widget _buildPhoneCallOverlay(BuildContext context, bool isDarkMode) { return Container( - color: isDarkMode ? Colors.black : Colors.white, + color: Colors.transparent, // 设置整个覆盖层为透明 child: SafeArea( child: Column( children: [ - // 顶部标题栏 - _buildPhoneCallHeader(isDarkMode), + // 顶部标题栏 - 保持背景 + // Container( + // color: isDarkMode + // ? Colors.black.withOpacity(0.8) + // : Colors.white.withOpacity(0.8), + // child: _buildPhoneCallHeader(isDarkMode), + // ), - // 中间音频可视化区域 - Expanded( - child: _buildPhoneCallVisualization(isDarkMode), + // 中间音频可视化区域 - 完全透明 + const Expanded( + child: SizedBox(), // 空的占位符,完全透明 ), - // 底部控制按钮 - _buildPhoneCallControls(isDarkMode), + // 底部控制按钮 - 保持背景 + Container( + color: isDarkMode ? Colors.black : Colors.white, + child: _buildPhoneCallControls(isDarkMode), + ), ], ), ), @@ -1042,7 +1050,7 @@ class _AgentViewState extends State with WidgetsBindingObserver { // 构建打电话模式控制按钮 Widget _buildPhoneCallControls(bool isDarkMode) { return Container( - padding: const EdgeInsets.symmetric(horizontal: 32, vertical: 24), + padding: EdgeInsets.symmetric(horizontal: 32.w, vertical: 24.h), child: Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ @@ -1068,8 +1076,8 @@ class _AgentViewState extends State with WidgetsBindingObserver { // } // }, child: Container( - width: 80, - height: 80, + width: 80.w, + height: 80.h, decoration: BoxDecoration( shape: BoxShape.circle, color: isActive ? Colors.red : Colors.green, @@ -1077,15 +1085,15 @@ class _AgentViewState extends State with WidgetsBindingObserver { BoxShadow( color: (isActive ? Colors.red : Colors.green) .withOpacity(0.3), - blurRadius: 12, - spreadRadius: 2, + blurRadius: 12.r, + spreadRadius: 2.r, ), ], ), child: Icon( isActive ? Icons.call_end : Icons.call, color: Colors.white, - size: 36, + size: 36.sp, ), ), ); @@ -1115,20 +1123,20 @@ class _AgentViewState extends State with WidgetsBindingObserver { return GestureDetector( onTap: onTap, child: Container( - width: 56, - height: 56, + width: 56.w, + height: 56.h, decoration: BoxDecoration( shape: BoxShape.circle, color: backgroundColor ?? (isDarkMode ? Colors.grey[800] : Colors.grey[200]), - border: isActive ? Border.all(color: Colors.blue, width: 2) : null, + border: isActive ? Border.all(color: Colors.blue, width: 2.w) : null, ), child: Icon( icon, color: backgroundColor != null ? Colors.white : (isDarkMode ? Colors.white : Colors.black), - size: 24, + size: 24.sp, ), ), ); diff --git a/lib/modules/devices/views/devices_view.dart b/lib/modules/devices/views/devices_view.dart index cbabb4ba3..6b30d165b 100644 --- a/lib/modules/devices/views/devices_view.dart +++ b/lib/modules/devices/views/devices_view.dart @@ -1,6 +1,6 @@ import 'dart:ui'; -import 'package:deep_voice/modules/devices/controllers/devices_controller.dart'; +import '/modules/devices/controllers/devices_controller.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart';