diff --git a/lib/screens/chat_screen.dart b/lib/screens/chat_screen.dart index e5f9042..ab05ce6 100644 --- a/lib/screens/chat_screen.dart +++ b/lib/screens/chat_screen.dart @@ -319,7 +319,7 @@ class _ChatScreenState extends State { ), decoration: BoxDecoration( color: Color(0xFFF5F5F5), - borderRadius: BorderRadius.circular(30), + borderRadius: BorderRadius.circular(35), boxShadow: [ BoxShadow( color: Colors.black.withOpacity(0.1), // 그림자 색상 및 투명도 @@ -328,53 +328,60 @@ class _ChatScreenState extends State { ), ], ), - child: _isVideoInitialized - ? ClipRRect( - borderRadius: BorderRadius.circular(30), - child: AspectRatio( - aspectRatio: _videoController - .value - .aspectRatio, - child: VideoPlayer(_videoController), - ), - ) - : Column( - mainAxisAlignment: - MainAxisAlignment.center, - children: [ - Container( - width: 180, - height: 180, - decoration: BoxDecoration( - color: Color(0xFFF1F8E9), - borderRadius: - BorderRadius.circular(12), - border: Border.all( - color: Color(0xFFC8E6C9), - width: 1, - ), - ), - child: Center( - child: Column( - mainAxisAlignment: - MainAxisAlignment.center, - children: [ - CircularProgressIndicator( - color: Color(0xFF81C784), - ), - SizedBox(height: _getResponsivePadding(context, 20)), - Text( - '비디오 로딩 중...', - style: TextStyle( - fontSize: _getResponsiveFontSize(context, 12), - color: Color(0xFF757575), - ), - ), - ], - ), + child: AspectRatio( + aspectRatio: 16 / 9, // 고정 종횡비 + child: _isVideoInitialized + ? ClipRRect( + borderRadius: BorderRadius.circular(_getResponsiveSize(context, 30)), + child: FittedBox( + fit: BoxFit.cover, // 영상이 카드를 가득 채우고 넘치는 부분 잘라냄 + child: SizedBox( + width: _videoController.value.size.width, + height: _videoController.value.size.height, + child: VideoPlayer(_videoController), ), ), - ], + ) + : Center( + child: Column( + mainAxisAlignment: + MainAxisAlignment.center, + children: [ + Container( + width: _getResponsiveSize(context, 180), + height: _getResponsiveSize(context, 180), + decoration: BoxDecoration( + // color: Color(0xFFF1F8E9), + borderRadius: + BorderRadius.circular(_getResponsiveSize(context, 12)), + border: Border.all( + // color: Color(0xFFC8E6C9), + width: 1, + ), + ), + child: Center( + child: Column( + mainAxisAlignment: + MainAxisAlignment.center, + children: [ + CircularProgressIndicator( + color: Color(0xFF81C784), + ), + SizedBox(height: _getResponsivePadding(context, 20)), + Text( + '비디오 로딩 중...', + style: TextStyle( + fontSize: _getResponsiveFontSize(context, 12), + color: Color(0xFF757575), + ), + ), + ], + ), + ), + ), + ], + ), + ), ), ), ),