首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flutter CupertinoPicker未渲染

Flutter CupertinoPicker未渲染
EN

Stack Overflow用户
提问于 2019-07-20 22:38:49
回答 2查看 795关注 0票数 1

尝试让Flutter CupertinoPicker在Flutter 1.7上工作。没有花哨的东西,只是一个脚手架主体中的基本代码...

只使用强制的elements...tried,甚至其他人的示例代码,都不起作用。

代码语言:javascript
复制
CupertinoPicker(
     itemExtent: 30.0,
     onSelectedItemChanged: (int idx) {
       setState(() {
          _prayer.rebuild((b) =>
             b..category = listOfStrings[idx]);
          });
       },
     children: List<Widget>.generate(
     listOfStrings.length,
     (int i) {
        return Text('Dummy Text');
     },
   ),
 )
代码语言:javascript
复制
flutter: Another exception was thrown: RenderFlex children have non-zero flex but incoming height constraints are unbounded.
flutter: Another exception was thrown: RenderBox was not laid out: RenderFlex#fdf27 relayoutBoundary=up3 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter: Another exception was thrown: RenderBox was not laid out: RenderFlex#052f5 relayoutBoundary=up2 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter: Another exception was thrown: RenderBox was not laid out: RenderPadding#0d6c9 relayoutBoundary=up1 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter: Another exception was thrown: RenderFlex children have non-zero flex but incoming height constraints are unbounded.
flutter: Another exception was thrown: RenderBox was not laid out: RenderFlex#fdf27 relayoutBoundary=up3 NEEDS-PAINT
flutter: Another exception was thrown: RenderBox was not laid out: RenderFlex#052f5 relayoutBoundary=up2 NEEDS-PAINT
flutter: Another exception was thrown: RenderBox was not laid out: RenderPadding#0d6c9 relayoutBoundary=up1 NEEDS-PAINT
flutter: Another exception was thrown: NoSuchMethodError: The method '>' was called on null.

Android Picker工作...是不是需要父Widget是基于库比蒂诺还是别的什么?

EN

回答 2

Stack Overflow用户

发布于 2020-06-27 18:20:52

代码语言:javascript
复制
Expanded(      
    child:  
      
      CupertinoPicker(
        backgroundColor: Colors.white,
        onSelectedItemChanged: (index) {
        },
        itemExtent: 50.0,
        children:new List<Widget>.generate(
                        companyList.length, (int index) {
                      return new Center(
                        child: new Text(
                          "${companyList[index]}",
                          style: TextStyle(fontSize: 16,fontFamily: 
                           'HelveticaRegular'),),
                      );})
     ))
票数 1
EN

Stack Overflow用户

发布于 2019-10-11 19:40:39

你可以用两种方法来修复它。答案就在logcat RenderFlex中。

我们需要使用容器提供高度

代码语言:javascript
复制
Container(
            height: 200.0,
            child: CupertinoPicker(
     itemExtent: 30.0,
     onSelectedItemChanged: (int idx) {
       setState(() {
          _prayer.rebuild((b) =>
             b..category = listOfStrings[idx]);
          });
       },
     children: List<Widget>.generate(
     listOfStrings.length,
     (int i) {
        return Text('Dummy Text');
     },
   ),
 )
)

在行和列的情况下使用扩展的

代码语言:javascript
复制
Expanded(
      child: CupertinoPicker(
     itemExtent: 30.0,
     onSelectedItemChanged: (int idx) {
       setState(() {
          _prayer.rebuild((b) =>
             b..category = listOfStrings[idx]);
          });
       },
     children: List<Widget>.generate(
     listOfStrings.length,
     (int i) {
        return Text('Dummy Text');
     },
   ),
 )
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57125712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档