import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:wow_english/common/extension/string_extension.dart'; import 'package:wow_english/common/widgets/ow_image_widget.dart'; import '../../../models/course_unit_entity.dart'; ///课程(单元)item布局 class CourseUnitItem extends StatelessWidget { const CourseUnitItem( {super.key, required this.unitEntity, required this.unitLesson}); final CourseUnitEntity unitEntity; final CourseUnitDetail unitLesson; @override Widget build(BuildContext context) { return Padding( padding: EdgeInsets.symmetric(horizontal: 12.w, vertical: 24.h), child: Stack( children: [ _normalItem(), _lockWidget(), ], )); } Widget _normalItem() { return Container( width: 165.w, padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 24.h), decoration: BoxDecoration( image: DecorationImage( image: AssetImage('gendubeij'.assetPng), fit: BoxFit.fill), ), child: Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Expanded( child: Container( decoration: BoxDecoration( border: Border.all( width: 2, color: const Color(0xFF140C10), ), borderRadius: BorderRadius.circular(6)), child: OwImageWidget( name: unitLesson.coverUrl ?? '', fit: BoxFit.fitHeight, ), )), 20.verticalSpace, SizedBox( height: 40.h, child: Text( unitLesson.name ?? '', maxLines: 2, overflow: TextOverflow.ellipsis, style: TextStyle(fontSize: 11.sp, color: const Color(0xFF140C10)), ), ) ], ), ); } ///锁定状态下蒙层视图 Widget _lockWidget() { return Visibility( visible: unitLesson.lock ?? false, child: Container( width: 165.w, decoration: BoxDecoration( image: DecorationImage( image: AssetImage('gendubeij_mengban'.assetPng), fit: BoxFit.fill)), alignment: Alignment.center, child: Image.asset( 'iv_lock'.assetPng, height: 54.h, width: 61.5.w, ), ), ); } }