renderItem method
Implementation
List<Widget> renderItem() {
final List<Widget> columns = [];
for (int i = 0; i < widget.options.length; i++) {
final column = widget.options[i];
columns.add(Expanded(
flex: 1,
child: GestureDetector(
onVerticalDragDown: (_) {
onVerticalDragDown(_, i);
},
onVerticalDragUpdate: (_) {
onVerticalDragUpdate(_, i);
},
onVerticalDragEnd: (_) {
onVerticalDragEnd(i);
},
child: DecoratedBox(
decoration: BoxDecoration(
color: Colors.transparent,
),
child: Stack(children: [
Positioned(
top: tops[i] == null ? 0 : tops[i],
right: 0,
left: 0,
child: Padding(
padding: EdgeInsets.only(top: borderTop),
child: Column(
children: column.map((item) {
return SizedBox(
height: widget.itemHeight,
child: DefaultTextStyle(
style: TextStyle(
fontSize: 16, color: Colors.black),
child: Align(
alignment: Alignment.center,
child: Text(item.label))));
}).toList()))),
Positioned(
top: 0,
right: 0,
left: 0,
bottom: borderTop + widget.itemHeight,
child: _renderMaskDecoratedBox(
Alignment.bottomCenter, Alignment.topCenter)),
Positioned(
top: borderTop + widget.itemHeight,
right: 0,
bottom: 0,
left: 0,
child: _renderMaskDecoratedBox(
Alignment.topCenter, Alignment.bottomCenter))
])))));
}
return columns;
}