dragablegridview_flutter 0.2.5官方demo怎么没法通过右上角的叉删除图标啊??

Gavin
  • 16

官方的demo:
import 'package:dragablegridview_flutter/dragablegridviewbin.dart';

class ItemBin extends DragAbleGridViewBin{

ItemBin( this.data);

String data;

@override
String toString() {

return 'ItemBin{data: $data, dragPointX: $dragPointX, dragPointY: $dragPointY, lastTimePositionX: $lastTimePositionX, lastTimePositionY: $lastTimePositionY, containerKey: $containerKey, containerKeyChild: $containerKeyChild, isLongPress: $isLongPress, dragAble: $dragAble}';

}

}

import 'package:dragable_gridview/databin.dart';
import 'package:dragablegridview_flutter/dragablegridview_flutter.dart';
import 'package:flutter/material.dart';

//import 'gridviewitembin.dart';

void main() => runApp(DragAbleGridViewDemo());

class DragAbleGridViewDemo extends StatefulWidget{
@override
State<StatefulWidget> createState() => DragAbleGridViewDemoState();
}

class DragAbleGridViewDemoState extends State<DragAbleGridViewDemo>{

List<ItemBin> itemBins=new List();
String actionTxtEdit="编辑";
String actionTxtComplete="完成";
String actionTxt;
var editSwitchController=EditSwitchController();
final List<String> heroes=["鲁班","虞姬","甄姬","黄盖","张飞","关羽","刘备","曹操","赵云","孙策","庄周","廉颇","后裔","妲己","荆轲",];

@override
void initState() {

super.initState();
actionTxt=actionTxtEdit;
heroes.forEach((heroName) {
    itemBins.add(new ItemBin(heroName));
  }
);

}

deleteicon(String value){

setState(() {
  this.itemBins.remove(value);
});

}

@override
Widget build(BuildContext context) {

return MaterialApp(
  //debugShowCheckedModeBanner: false,  可以删除右上角的debug图标  
  home: new Scaffold(
  appBar: new AppBar(
    title: new Text("可拖拽GridView"),
    actions: <Widget>[
      new Center(
          child: new GestureDetector(
            child: new Container(
              child: new Text(actionTxt,style: TextStyle(fontSize: 19.0),),
              margin: EdgeInsets.only(right: 12),
            ),
            onTap: (){
              //点击切换完成和编辑两个标签
              changeActionState();
              //点击编辑,itemBins右上角出现删除图标;点击完成,itemBins右上角删除图标消失               
              editSwitchController.editStateChanged();
              //deleteicon(value);
            },
          )
      )
    ],
  ),
  body: new DragAbleGridView(
    mainAxisSpacing:10.0,
    crossAxisSpacing:10.0,
    childAspectRatio:1.8,
    crossAxisCount: 4,
    itemBins:itemBins,
    editSwitchController:editSwitchController,
    /******************************new parameter*********************************/
    isOpenDragAble: true,
    animationDuration: 300, //milliseconds
    longPressDuration: 800, //milliseconds
    /******************************new parameter*********************************/
    deleteIcon: new Image.asset("assets/images/close.png",width: 15.0 ,height: 15.0 ),
    child: (int position){
      return new Container(
        padding: EdgeInsets.fromLTRB(8.0, 5.0, 8.0, 5.0),
        decoration: new BoxDecoration(
          borderRadius: BorderRadius.all(new Radius.circular(3.0)),
          border: new Border.all(color: Colors.blue),
        ),
        //因为本布局和删除图标同处于一个Stack内,设置marginTop和marginRight能让图标处于合适的位置
        //Because this layout and the delete_Icon are in the same Stack, setting marginTop and marginRight will make the icon in the proper position.
        margin: EdgeInsets.only(top: 6.0,right: 6.0),
        child: new Text(
          itemBins[position].data,
          style: new TextStyle(fontSize: 16.0,color: Colors.blue),),
      );
    },
    editChangeListener: (){
      changeActionState();
    },
    
  ),
),
); 
 

}

void changeActionState(){

if(actionTxt==actionTxtEdit){
  setState(() {
    actionTxt=actionTxtComplete;
  });
}else{
  setState(() {
    actionTxt=actionTxtEdit;
  });
}

}
}

我怎么都没法删除啊????

回复
阅读 35
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏