lesson_item_widget.dart 1.88 KB
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/models/course_module_entity.dart';

class LessonItemWidget extends StatelessWidget {
  const LessonItemWidget({super.key, required this.isSelected, this.model, this.onClickEvent});
  ///是否被选中
  final bool isSelected;
  final CourseModuleEntity? model;
  final Function()? onClickEvent;

  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onTap: () {
        if (!isSelected) {
          return;
        }
        onClickEvent?.call();
      },
      child: isSelected?_selectWidget():_unSelectWidget(),
    );
  }

  Widget _unSelectWidget() {
    return Container(
      decoration: BoxDecoration(
          image: DecorationImage(
              image: AssetImage('gendubeij'.assetPng)
          )
      ),
      child: Image.network(
          model?.picUrl??'',
      ),
    );
  }

  Widget _selectWidget() {
    return Container(
      padding: const EdgeInsets.all(10),
      decoration: BoxDecoration(
        image: DecorationImage(
          image: AssetImage('gendubeij'.assetPng)
        )
      ),
      child:  Column(
        mainAxisAlignment: MainAxisAlignment.spaceBetween,
        children: [
          Expanded(
            child: Image.network(
                model?.picUrl??'',
                fit: BoxFit.contain
            ),
          ),
          10.verticalSpace,
          Container(
            color: Colors.red,
            padding: EdgeInsets.symmetric(horizontal: 10.w),
            child: Column(
              children: [
                Text(model?.name??''),
                Text(
                  model?.des??'',
                  maxLines: 1,
                )
              ],
            ),
          )
        ],
      ),
    );
  }
}