【问题标题】:Why I can't put a height var instead of a num in the container?为什么我不能在容器中放置高度变量而不是数字?
【发布时间】:2021-01-09 14:40:09
【问题描述】:

我有这个容器,其中包含一个包含 ListView.builder() 的 Streambuilder,我希望容器在逻辑上适应不同手机的不同高度,不知道为什么,但是在这个容器中我不能放任何东西在 height 方法中,除了一个纯 obviuos 数字,当我放一个 var 时,整个容器都消失了。

代码:

var device_data = MediaQueryData();
    var size = device_data.size;
    var height = size.height;
return Stack(
      children: [
        Container(
          height: height * 0.7,
          child: StreamBuilder<Object>(
            stream: _store
                .collection('Khatma Collection')
                .document('Khatma 1')
                .collection('Videos')
                .snapshots(),
            builder: (context, AsyncSnapshot snapshot) {
              if (snapshot.hasData) {
                return ListView.builder(
                  shrinkWrap: true,
                  itemCount: snapshot.data.documents.length,
                  itemBuilder: (context, i) {
                    var link = snapshot.data.documents[i].data['Link'];
                    var uploader = snapshot.data.documents[i].data['Uploader'];
                    var likes = snapshot.data.documents[i].data['Likes'];
                    var like = likes.toString();
                    bool liked;
                    if (int.parse(like) > 0) {
                      liked = true;
                    } else if (int.parse(like) == 0) {
                      liked = false;
                    }
                    ..............

【问题讨论】:

  • 你能打印高度的值吗?看起来您想要 MediaQuery.of(context).size.height 而不是 MediaQueryData().height
  • 哦,对不起,我的错误,感谢提醒。

标签: android flutter listview containers height


【解决方案1】:

我认为你错过了context

你试过了吗?

Container(
    height: MediaQuery.of(context).size.height*0.7
    ...
)

【讨论】:

    猜你喜欢
    • 2016-07-15
    • 2013-06-09
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    • 2016-06-07
    • 2011-11-10
    • 1970-01-01
    相关资源
    最近更新 更多