Ошибка виджета стека при использовании SingleChildScrollView - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть этот код в качестве экрана профиля, который мне нужен, чтобы иметь возможность заполнить текст, подобный "HELLO" в этом примере кода. Но когда я помещаю в него много текста, экран становится переполненным. Проблема в том, что каждый раз, когда я ставлю SingleChildScrollView , чтобы избежать переполнения, я получаю другую ошибку вместо этого. Подскажите пожалуйста, как я могу решить эту проблему.

  @override
  Widget build(BuildContext context) {
    return Container(
        child: SafeArea(
          child: FutureBuilder<Profile>(
            future: dataService.getHttp(),
            builder: ...
          ),
        ),
    );
  }

  Widget _buildView(detail) {
    return Stack(
        alignment: Alignment.center,
        children: <Widget>[
          Column(
            children: <Widget>[
              Container(
                height: 200.0,
                child: Center(
                  child: Image.network( 
                    'https://i.imgur.com/2F3Al82.jpg', 
                    fit: BoxFit.cover,
                    height: double.infinity,
                    width: double.infinity,
                  ),
                ),
              ),
              Padding(
                padding: EdgeInsets.fromLTRB(0.0, 50.0, 0.0, 0.0),
              ),
              Expanded(
                child: Container(
                  color: Colors.white,
                  child: Column(
                    children: <Widget>[
                      Text('HELLO'),
                    ]
                  ),
                )
              ),
            ],
          ),
          Positioned(
            top: 150.0,
            child: Container(
              height: 100.0,
              width: 100.0,
              decoration: BoxDecoration(
                shape: BoxShape.circle,
                image: new DecorationImage(
                  fit: BoxFit.fill,
                  image: NetworkImage('https://i.imgur.com/2F3Al82.jpg'),
                ),
              ),
            ),
          )
        ],
    );
  }

это ошибка

this is the error

1 Ответ

1 голос
/ 06 апреля 2020

Вы получаете эту ошибку из-за виджета Expanded. SingleChildScrollView допускает бесконечную высоту, а расширенный займет столько места, сколько может. Эти две вещи несовместимы, если вы удалите виджет Expanded, он должен работать. Если вам нужно пространство вокруг этого контейнера, я предлагаю свойство Containers margin.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...