getChildrenChoice method
列表Item
Implementation
List<Widget> getChildrenChoice(
List<SelectorItem> list,
double textSize,
double padding,
Color textColor,
Color lineColor,
Color selectColor,
Color unSelectedColor,
double iconWidth,
{String iconAssetName = '',
double? describeSize,
Color? describeColor,
Function(SelectorItem selectorItem, int position)? callBack}) {
List<Widget> children = [];
for (int i = 0; i < list.length; i++) {
SelectorItem item = list[i];
Widget widget = InkWell(
child: Padding(
padding: EdgeInsets.symmetric(horizontal: padding),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Expanded(
child: Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
item.name,
maxLines: 1,
textAlign: TextAlign.center,
overflow: TextOverflow.ellipsis,
style:
TextStyle(fontSize: textSize, color: textColor),
),
if (item.describe.isNotEmpty)
Text(
item.describe,
maxLines: 1,
textAlign: TextAlign.center,
overflow: TextOverflow.ellipsis,
style: TextStyle(
fontSize: describeSize ?? textSize,
color: describeColor ?? textColor),
),
],
),
iconAssetName.isNotEmpty
? Image(
fit: BoxFit.fitWidth,
width: iconWidth,
alignment: Alignment.center,
color: item.check ? selectColor : unSelectedColor,
image: AssetImage(iconAssetName))
: Icon(Icons.check_circle,
color: item.check ? selectColor : unSelectedColor)
],
),
),
if (i < list.length - 1)
Divider(
height: 1,
color: lineColor,
)
],
),
),
onTap: () {
callBack?.call(item, i);
},
);
children.add(widget);
}
return children;
}