0

这是我的代码实现:

return Scaffold(
        appBar: CustomAppBar(
          scaffoldKey: widget.scaffoldKey,
          // icon: AppIcon.settings,
          // onActionPressed: onSettingIconPressed,
          onSearchChanged: (text) {
            setState(() {
              if (text.length > 0) {
                searching = true;
              } else {
                searching = false;
              }
            });
            state.filterByUsername(text);
          },
        ),
        backgroundColor: Colors.white,
        body:
            // Column(children: [
            RefreshIndicator(
                backgroundColor: Colors.white,
                onRefresh: () async {
                  HapticFeedback.selectionClick();
                  setState(() {
                    list3 = state2.getTweetList(authstate.userModel);
                    list3.shuffle();
                    onlyImages.shuffle();
                  });
                  state.getDataFromDatabase();
                  return Future.value(true);
                },

                // mesto povise greed, i ispod search boxa
                child: Column(
                  children: <Widget>[
                    CarouselSlider.builder(
                      itemCount: images.length,
                      options: CarouselOptions(
                        // autoPlayInterval: Duration(milliseconds: 30),
                        autoPlay: true,
                        aspectRatio: 2.0,
                        enlargeCenterPage: true,
                      ),
                      itemBuilder: (context, index) {
                        return Container(
                          child: Center(
                            child: (imageUrl != null)
                                ? Image.network(imageUrl)
                                : Placeholder(
                                    fallbackHeight: 200,
                                    fallbackWidth: double.infinity,
                                  ),

                            // Center(
                            //     child: Image.network(images[index],
                            //         fit: BoxFit.cover, width: 1000)
                          ),
                        );
                      },
                    ),
                    SizedBox(
                      height: 5,
                    ),
                    Expanded(
                      // flex: 1,
                      child: CustomScrollView(slivers: <Widget>[
                        SliverToBoxAdapter(
                            child: Container(
                                padding: EdgeInsets.only(top: 0),
                                height: 30,
                                margin: EdgeInsets.only(top: 5, bottom: 5),
                                child: ListView(
                                    scrollDirection: Axis.horizontal,
                                    children: <Widget>[
                                      _tagItem('#DAJGI'),
                                      _tagItem('#Advertisements'),
                                      _tagItem('Animal'),
                                      _tagItem('Travel'),
                                      _tagItem('Happy'),
                                      _tagItem(
                                        'Art',
                                      ),
                                    ]))),
                      ]),
                    ),
                    searching
                        ? ListView.separated(
                            addAutomaticKeepAlives: false,
                            physics: BouncingScrollPhysics(),
                            itemBuilder: (context, index) =>
                                _UserTile(user: list[index]),
                            separatorBuilder: (_, index) => Divider(
                              color: Colors.transparent,
                              height: 0,
                            ),
                            itemCount: list?.length ?? 0,
                          )
                        : Expanded(
                            child: GridView.count(
                              crossAxisCount: 3,
                              children:
                                  List.generate(onlyImages.length, (index) {
                                return GestureDetector(
                                    onTap: () {
                                      FeedModel model = onlyImages[index];
                                      onTweetPressed(context, model);
                                    },
                                    onLongPress: () {
                                      _createPopupContext;
                                      FeedModel model = onlyImages[index];
                                      onTweetPressed(context, model);
                                    },
                                    child: Container(
                                      child: Card(
                                          child: onlyImages
                                                      .elementAt(index)
                                                      .imagesPath
                                                      .length >
                                                  0
                                              ? CachedNetworkImage(
                                                  imageUrl: onlyImages
                                                      .elementAt(index)
                                                      .imagesPath[0],
                                                  fit: BoxFit.cover,
                                                )
                                              :
                                              //Container()
                                              Center(
                                                  child: Text(onlyImages
                                                      .elementAt(index)
                                                      .description),
                                                )),
                                    ));
                              }),
                            ),
                          ),
                  ],
                )))

结果:

工具栏

4

1 回答 1

0

嗨,在您的专栏中,您有 2 个扩展小部件,因此您的标签可以获得更多空间;

column(
  children:[
     CarouselSlider
     Expanded(
        // flex: 1,
        child: CustomScrollView // Your Tags )
     Expanded(
        child: GridView.count(  // Your Grid)
  ]
)

现在您可以删除ExpandedandCustomScrollViewSliverToBoxAdapter

并使您的专栏如下所示

column(
  children:[
     CarouselSlider
     Container(  // Your Tags )
     Expanded(
        child: GridView.count(  // Your Grid)
  ]
)
于 2020-10-02T05:10:06.697 回答