Как отобразить виджеты в flutter?

#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() в виде строки.

Что здесь происходит? Пожалуйста, помогите.

изображение