#flutter #dart #widget
Вопрос:
Я пытаюсь создать список с помощью ListWheelScrollView. Я хотел бы отображать различные контейнеры в качестве элементов, но также я хочу изменить параметры выбранного элемента.
ListWheelScrollView.useDelegate(
itemExtent: 140,
perspective: 0.0005,
physics: FixedExtentScrollPhysics(),
diameterRatio: 1.3,
squeeze: 1.4,
onSelectedItemChanged: (index) => {
setState(() {
_selectedItemIndex = index;
}),
},
childDelegate: ListWheelChildLoopingListDelegate(
children: items
.map<Widget>((value) => Container(
child: BackdropFilter(
filter: ui.ImageFilter.blur(
sigmaX: _selectedItemIndex == items.indexOf(value)
? 0
: 0,
sigmaY: _selectedItemIndex == items.indexOf(value)
? 0
: 0,
),
child: Container(
margin: EdgeInsets.only(
left: _selectedItemIndex == items.indexOf(value)
? 40
: 60,
right:
_selectedItemIndex == items.indexOf(value)
? 40
: 60,
bottom:
_selectedItemIndex == items.indexOf(value)
? 15
: 25,
top: _selectedItemIndex == items.indexOf(value)
? 15
: 25),
decoration: BoxDecoration(
boxShadow: [
BoxShadow(
color: Colors.black.withOpacity(0.5),
spreadRadius: 3,
blurRadius: 6,
offset: Offset(
0, 4), // changes position of shadow
),
],
gradient: LinearGradient(
colors: [
_selectedItemIndex == items.indexOf(value)
? trackGradient1
: trackGradient1.withOpacity(0.6),
_selectedItemIndex == items.indexOf(value)
? trackGradient2
: trackGradient2.withOpacity(0.6),
],
begin: Alignment.topLeft,
end: Alignment.bottomRight),
borderRadius:
BorderRadius.all(Radius.circular(35)),
),
child: Center(
child: Text(
'$value',
style: TextStyle(
color:
_selectedItemIndex == items.indexOf(value)
? Colors.white
: Colors.white.withOpacity(0.05),
fontSize:
_selectedItemIndex == items.indexOf(value)
? 25
: 20,
),
),
),
),
)))
.toList()),
),
Я получаю предметы с помощью этого метода
List<Widget> getList() {
List<Widget> list = [];
for (int i = 0; i < 11; i ) {
list.add(ListElement());
}
return list;
}
}
Элемент списка-это в основном контейнер с несколькими параметрами.
Я хотел бы отобразить эти контейнеры, но приложение показывает мне ListElement() в виде строки.
Что здесь происходит? Пожалуйста, помогите.