【问题标题】:SingleChildScrollView height to use for containing ConstrainedBox max height- Flutter用于包含 ConstrainedBox 最大高度的 SingleChildScrollView 高度 - Flutter
【发布时间】:2021-10-02 18:32:59
【问题描述】:

有没有办法计算出 SingleChildScrollView 的完整高度,以便可以使用它来设置 ConstrainedBox 高度。 我有一个 SingleChildScrollView ,其中包含许多小部件,包括列和可以在高度上变化的 Expanded。 我尝试了许多不同的技术,包括使用 MediaQuery.of(context).size.height 但这仅提供可见屏幕的高度,而不是不可滚动区域的总高度。

孩子:SingleChildScrollView( 控制器:滚动控制器, 孩子:约束框( 约束:BoxConstraints(maxHeight: MediaQuery.of(context).size.height+MediaQuery.of(context).size.height),

child: Column(
  mainAxisSize: MainAxisSize.min,
  children: [
  ConstrainedBox(
    constraints: BoxConstraints(maxHeight: 295, minHeight: 100.0),
    child: PageView.builder(
    itemCount: videObj.results.length,
    controller: PageController(viewportFraction: 0.8, initialPage: 1),
    itemBuilder: (_, i) {
      String vidKey = videObj.results[i].key;
      String thumbPath = 'https://image.api.playstation.com/vulcan/img/cfn/11307uYG0CXzRuA9aryByTHYrQLFz-HVQ3VVl7aAysxK15HMpqjkAIcC_R5vdfZt52hAXQNHoYhSuoSq_46_MT_tDBcLu49I.png';
      
      ListView.builder(
        padding: const EdgeInsets.all(8),
        itemCount: listseasons.length,
        itemBuilder: (BuildContext context, int index) {
          return Text(listseasons[index].name);
      });

      return Transform.scale(
        scale: i == _index ? 1 : 1,
        child: new InkWell(
        onTap: () {
          launch(videoPath);
        },
        child: Card(
          clipBehavior: Clip.antiAlias,
          child: Column(
            children: [
              Image.network(thumbPath,
              fit: BoxFit.cover,
          ),
          ListTile(
            title: Text(videObj.results[i].name),
          ),
         ],
        )
       ),
      ),
    );
   },
  ),

【问题讨论】:

    标签: flutter flutter-dependencies expand singlechildscrollview


    【解决方案1】:

    我尝试回答,但 imo 您的代码中有很多缺失的部分。 您可以使用键获取小部件高度。

    GlobalKey globalKey = GlobalKey();
    

    然后将其传递给孩子 示例:

    Container(key: globalKey, ... rest of the stuff)
    

    然后在您的代码中,您可以使用: globalKey.currentContext.size.height

    【讨论】:

      猜你喜欢
      • 2020-02-23
      • 2020-07-18
      • 2019-06-11
      • 2021-01-18
      • 1970-01-01
      • 1970-01-01
      • 2019-10-05
      • 2019-10-15
      • 1970-01-01
      相关资源
      最近更新 更多