import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:skywood/main/lib_file.dart'; import '../../../utils/models/drama/skywood_drama.dart'; import '../players/page/drama_detail_page.dart'; class HotCartridgeWidget extends StatelessWidget { const HotCartridgeWidget({super.key, required this.dramaList, }); final List dramaList; @override Widget build(BuildContext context) { return SliverGrid.builder( gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 3, // 每行 2 列 crossAxisSpacing: 10, // 列间距 mainAxisSpacing: 10, // 行间距 childAspectRatio: 110 / 174, // 宽高比 ), itemBuilder: (context, index) { return _buildItem(dramaList[index], index); }, itemCount: dramaList.length>6 ? 6 : dramaList.length); } Widget _buildItem(SkywoodDrama drama, int index) { return Stack( children: [ SizedBox( width: 110.w, height: 174.h, ), Positioned( top: 1, left: 5.w, right: 5.w, child: HelpImg.network(drama.imageUrl, width: 100.w, height: 130.h, fit: BoxFit.cover), ), HelpImg.asset(index<3?ConstImg.hotBg1:ConstImg.hotBg2, width: 110.w, height: 174.h) ], ).addInkWell(onTap: () { HelpNav.to(DramaDetailPage(dramaBean: drama)); }); } }