Радиус развевающегося угла с прозрачным не работает

#flutter #dart #containers

#трепетание #дротик #контейнеры

Вопрос:

Ниже приведен мой код. Я хочу отобразить контейнер с круглым контейнером с прозрачным фоном:

Я добавил к родительскому Colors.tranpsarent элементу, но у меня получается белый фон.

 void _settingModalBottomSheet(context) {
    showModalBottomSheet(
      context: context,
      builder: (BuildContext bc) {
        return Container(
          color: Colors.transparent,
          child: new Container(
              decoration: BoxDecoration(
                color: Color.fromRGBO(253, 126, 118, 1),
                borderRadius: BorderRadius.only(
                    topLeft: Radius.circular(30),
                    topRight: Radius.circular(30)
                ),
              ),
              child: new Wrap(
                children: <Widget>[
                  ..._alerts.map((alert) {
                    return ListTile(
                        title: new Text(
                          alert.title,
                          style: TextStyle(
                              color: Colors.white, 
                              fontSize: 20
                          ),
                        ),
                    );
                  }
                )
              ],
            )
          )
        );
      }
    );
  }
 

Ответ №1:

Вы должны использовать цвет фона showModalBottomSheet.

 showModalBottomSheet(
                    context: context,
                    backgroundColor: Colors.transparent,
                    builder: (BuildContext bc) {
                             return new Container(
                                      decoration: BoxDecoration(
                                        color: Color.fromRGBO(253, 126, 118, 1),
                                        borderRadius: BorderRadius.only(
                                            topLeft: Radius.circular(30),
                                            topRight: Radius.circular(30)
                                        ),
                                      ),
                                      child: Text(
                                        'ok',
                                        style: TextStyle(
                                            color: Colors.white,
                                            fontSize: 20
                                        ),
                                      )
                                  );
                                }
                            );