效果图:拖拽上方两个区域到下方区域内,下方区域颜色变为拖拽区域颜色
分析结构:
分成两个区域,一个是被拖拽区域(上方两个小方块),一个是被染色区域(中间的大方块)--->分成两个部分,因为两个区域一个位置发生变化,一个颜色发生变化,所以定义两个空间均为statefulwidget;
文件目录:
开搞:
1、新建拖拽区域小部件,注释及步骤见下方源码
import 'package:flutter/material.dart';
class DraggableWidget extends StatefulWidget{
//创建小部件的时候需要定义位置和颜色
final Offset offset;
final Color widgetColor;
const DraggableWidget({Key key,
this.offset,
this.widgetColor
}):super(key:key);
@override
_DraggableWidget createState() {
// TODO: implement createState
return _DraggableWidget();
}
}
c