美文网首页
Flutter中自定义view/cell

Flutter中自定义view/cell

作者: xieyinghao | 来源:发表于2023-06-04 00:00 被阅读0次
import 'package:flutter/material.dart';

import '../model/car.dart';

class Homecell extends StatefulWidget {
  const Homecell({super.key, this.title, this.onCallBack, this.model});
  final String? title;
  final CarModel? model;
  final Function(String)? onCallBack;
  @override
  State<Homecell> createState() => _HomecellState();
}

class _HomecellState extends State<Homecell>
    with SingleTickerProviderStateMixin {
  late AnimationController _controller;

  @override
  void initState() {
    super.initState();
    _controller = AnimationController(vsync: this);
  }

  @override
  void dispose() {
    _controller.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onTap: () {
        if (widget.onCallBack != null) {
          widget.onCallBack!("你说都对");
        }
      },
      child: Container(
        child: Text(widget.model?.name ?? "999"),
      ),
    );
  }
}

使用

      child: ListView.builder(
        itemCount: models.length,
        itemBuilder: (context, index) => Homecell(
          title: "Gabrielle  是贱人",
          model: models[index],
          onCallBack: (string) {
            print(string);
          },
        ),
      ),

在同一个文件自定义widget

class itemCellView extends StatelessWidget {
  final TaskModel? model;
  itemCellView({required this.model});

  @override
  Widget build(BuildContext context) {
    return Container(
      // padding: EdgeInsets.symmetric(horizontal: 10),
      width: MediaQuery.of(context).size.width - 100,
      margin: EdgeInsets.all(10),
      child: Row(
        mainAxisAlignment: MainAxisAlignment.spaceBetween,
        children: [
          Text(
            // model.state == StateType.Fail ? "任务进行中" : "任务进行中",
            "任务进行中",
            style: AppTheme.taskState,
          ),
          Text("完成999个任务", textAlign: TextAlign.right),
        ],
      ),
    );
  }
}

相关文章

网友评论

      本文标题:Flutter中自定义view/cell

      本文链接:https://www.haomeiwen.com/subject/vlqvedtx.html