1

SingleChildScrollView无法滚动到页面底部(弹回)。我尝试添加padding bottom inset为以下链接,但它什么也没做。我不想用作这种情况下SizedBox的最后一个孩子。column也许你们有其他解决方案?谢谢

编辑:我尝试按预期包装它ListView.builderContainer工作。但有时我在滚动时遇到同样的问题,你们能解释一下为什么会发生这种情况吗?

更多编辑:我尝试以不同的屏幕尺寸(4英寸)运行它。它再次反弹

代码

ListView(
      physics: NeverScrollableScrollPhysics(),
      shrinkWrap: true,
      children: <Widget>[
        Container(
            width: size.width,
            height: size.height,
            color: kSecondaryColor,
            child: Container(
              // margin: EdgeInsets.only(top: 20),
              width: size.width,
              height: size.height,
              decoration: BoxDecoration(
                color: Colors.white,
                borderRadius: BorderRadius.only(
                  topLeft: Radius.circular(35),
                  topRight: Radius.circular(35),
                ),
              ),
              child: ClipRRect(
                borderRadius: BorderRadius.only(
                  topLeft: Radius.circular(35),
                  topRight: Radius.circular(35),
                ),
                child: ScrollConfiguration(
                    behavior: MyBehavior(),
                    child: SingleChildScrollView(
                      child: Padding(
                        padding: const EdgeInsets.only(top: 20.0),
                        child: Column(
                          crossAxisAlignment: CrossAxisAlignment.start,
                          children: [
                            // PageView.builder(
                            //   scrollDirection: Axis.horizontal,
                            //   onPageChanged: _onchanged,
                            //   controller: _controller,
                            //   itemCount: _newsSlider.length,
                            //   itemBuilder: (context, int index) {
                            //     return _newsSlider[index];
                            //   },
                            // ),
                            Padding(
                              padding:
                                  const EdgeInsets.fromLTRB(20, 20, 0, 20),
                              child: Text(
                                'Highlights',
                                style: TextStyle(
                                    fontWeight: FontWeight.bold,
                                    fontSize: 16),
                              ),
                            ),
                            CarouselSlider(
                              items: imageSliders,
                              options: CarouselOptions(
                                  autoPlay: true,
                                  enlargeCenterPage: true,
                                  enableInfiniteScroll: false,
                                  aspectRatio: 2.0,
                                  onPageChanged: (index, reason) {
                                    setState(() {
                                      _current = index;
                                    });
                                  }),
                            ),
                            Row(
                              mainAxisAlignment: MainAxisAlignment.center,
                              children: imgList.map((url) {
                                int index = imgList.indexOf(url);
                                return Container(
                                  width: 8.0,
                                  height: 8.0,
                                  margin: EdgeInsets.symmetric(
                                      vertical: 10.0, horizontal: 2.0),
                                  decoration: BoxDecoration(
                                    shape: BoxShape.circle,
                                    color: _current == index
                                        ? kSecondaryColor
                                        : Color.fromRGBO(0, 0, 0, 0.4),
                                  ),
                                );
                              }).toList(),
                            ),

                            Padding(
                              padding:
                                  const EdgeInsets.fromLTRB(20, 20, 0, 0),
                              child: Text(
                                'News Update',
                                style: TextStyle(
                                    fontWeight: FontWeight.bold,
                                    fontSize: 16),
                              ),
                            ),
                            ListView.builder(
                                physics: NeverScrollableScrollPhysics(),
                                shrinkWrap: true,
                                itemCount: 5,
                                itemBuilder: (context, index) {
                                  return GestureDetector(
                                    onTap: () {
                                      Navigator.push(
                                        context,
                                        MaterialPageRoute(
                                            builder: (context) =>
                                                NewsDetailsView()),
                                      );
                                    },
                                    child: Padding(
                                      padding: const EdgeInsets.fromLTRB(
                                          20, 20, 20, 0),
                                      child: Container(
                                        decoration: BoxDecoration(
                                          borderRadius: BorderRadius.all(
                                              Radius.circular(5)),
                                          color: Colors.white,
                                          boxShadow: [
                                            BoxShadow(
                                              color: Colors.grey
                                                  .withOpacity(0.1),
                                              spreadRadius: 2,
                                              blurRadius: 2,
                                              offset: Offset(0,
                                                  2), 
                                            ),
                                          ],
                                        ),
                                        child: ListTile(
                                          leading: Image.network(
                                              'https://source.unsplash.com/random/200x200?sig=1'),
                                          title: Padding(
                                            padding: const EdgeInsets.only(
                                                top: 10.0),
                                            child: Text(
                                              'My News Title',
                                              style: TextStyle(
                                                  color: Colors.black),
                                            ),
                                          ),
                                          subtitle: Column(
                                            crossAxisAlignment:
                                                CrossAxisAlignment.start,
                                            children: [
                                              Text('1 May 2021'),
                                              Text(''),
                                              Text(''),
                                            ],
                                          ),

                                          isThreeLine: true,
                                        ),
                                      ),
                                    ),
                                  );
                                }),

                            // SizedBox(height: 100)
                          ],
                        ),
                      ),
                    )),
              ),
            ))
      ],
    ));
4

0 回答 0