簡體   English   中英

class 'SimpleFoldingCell' 沒有默認構造函數

[英]The class 'SimpleFoldingCell' doesn't have a default constructor

https://github.com/flutter-devs/flutter_folding_cell_demo/blob/master/lib/demo_screen.dart

我正在嘗試按照上面鏈接中的代碼進行操作。 但在 SimpleFoldingCell 部分中,名為“class 'SimpleFoldingCell' 的錯誤沒有默認構造函數”。 發生。 有沒有辦法解決 Dart 中的這個錯誤?

class Notific extends StatefulWidget{
  @override
  _State createState() => _State();
}

class _State extends State<Notific>{
  late List<TechnologyModel> _technologyList;

  @override
  void initState() {
    super.initState();
    _technologyList = [
      TechnologyModel(title: "Application Development",),
      TechnologyModel(title: "Research & Development",),
      TechnologyModel(title: "Big Data & Analytics",),
      TechnologyModel(title: "Support Services",),
      TechnologyModel(title: "QA & Software Testing",),
    ];

  }
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        automaticallyImplyLeading: false,
        backgroundColor: Colors.pink[200],
        title: Text("Folding Cell Demo",
          style: TextStyle(color: Colors.white),),
      ),
      body: Container(
        child: ListView.builder(
          itemCount: _technologyList.length,
          itemBuilder: (context, index) {
            return SimpleFoldingCell(
              frontWidget: _buildFrontWidget(index),
              innerTopWidget: _buildInnerWidget(index),
              innerBottomWidget: _buildInnerBottomWidget(),
              cellSize: Size(MediaQuery.of(context).size.width, 125),
              padding: EdgeInsets.all(15),
              animationDuration: Duration(milliseconds: 200),
              borderRadius: 10,
              onOpen: () => print('$index cell opened'),
              onClose: () => print('$index cell closed'),
            );
          },
        ),
      ),
    );
  }

  Widget _buildFrontWidget(int index) {
    return Builder(
      builder: (BuildContext context) {
        return Container(
          color:  Colors.cyan[100],
          alignment: Alignment.bottomCenter,
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              Text(
                "Aeologic Technology",
                style: TextStyle(
                  fontSize:20.0,
                  color: Colors.black,
                ),
              ),
              SizedBox(height: 10,),
              FlatButton(
                onPressed: () {
                  final foldingCellState = context
                      .findAncestorStateOfType<SimpleFoldingCellState>();
                  foldingCellState?.toggleFold();
                },
                child: Text(
                  "OPEN",
                ),
                textColor: Colors.white,
                color: Colors.indigoAccent[100],
                splashColor: Colors.white.withOpacity(0.5),
              ),
            ],
          ),
        );
      },
    );
  }

  Widget _buildInnerBottomWidget() {
    return Builder(
        builder: (context) {
          return Container(
            color: Colors.blueGrey[50],
            alignment: Alignment.bottomCenter,
            child: Padding(
              padding: EdgeInsets.only(bottom: 10),
              child: FlatButton(
                onPressed: () {
                  final foldingCellState = context
                      .findAncestorStateOfType<SimpleFoldingCellState>();
                  foldingCellState?.toggleFold();
                },
                child: Text(
                  "Close",
                ),
                textColor: Colors.white,
                color: Colors.redAccent[100],
                splashColor: Colors.white.withOpacity(0.5),
              ),
            ),
          );
        }
    );
  }

  Widget _buildInnerWidget(int index) {
    return Builder(
      builder: (context) {
        return Container(
          color: Colors.pink[100],
          padding: EdgeInsets.only(top: 10),
          child: Align(
            alignment: Alignment.center,
            child: Text(
              _technologyList[index].title,
              style: TextStyle(
                fontSize:20.0,
                color: Colors.black,
              ),
            ),
          ),
        );
      },
    );
  }
}
class TechnologyModel {
  String title;

  TechnologyModel({
    required this.title,
  });
}

出於某種原因,他們只創建了一個命名構造函數。

return SimpleFoldingCell.create(
  frontWidget: _buildFrontWidget(index),
  innerWidget: _buildInnerWidget(index),
  // innerTopWidget: _buildInnerWidget(index),
  // innerBottomWidget: _buildInnerBottomWidget(),
  cellSize: Size(MediaQuery.of(context).size.width, 125),
  padding: EdgeInsets.all(15),
  animationDuration: Duration(milliseconds: 200),
  borderRadius: 10,
  onOpen: () => print('$index cell opened'),
  onClose: () => print('$index cell closed'),
);

看起來您正在查看的演示有點過時,因為其中一些屬性不再存在(請參閱注釋代碼)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM