首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >当列表没有填充整个页面时,刷新指示器不起作用

当列表没有填充整个页面时,刷新指示器不起作用
EN

Stack Overflow用户
提问于 2019-08-15 22:21:50
回答 5查看 12.7K关注 0票数 39

我有一个页面,它有一个带有刷新指示器的列表。当列表中有许多元素(填充整个视图以及更多内容,即我可以滚动)时,刷新指示器就能工作了。但是,当列表中只有一个或两个元素(没什么可滚动的)时,刷新指示符就不能工作了。这是预期的行为吗?是否有办法使指标也适用于短名单?

我尝试用滚动条包装列表视图(刷新指示器的子视图),但问题仍然存在。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Future<void> _onRefresh() async {
    _getPeople();
  }


@override
  Widget build(BuildContext context) {
    super.build(context);
    return new Container(
      child: _items.length == 0
          ? Center(child: CircularProgressIndicator())
          : new RefreshIndicator(
              onRefresh: _onRefresh,
              child: Scrollbar(
                child: new ListView.builder(
                  controller: controller,
                  itemBuilder: (context, index) {
                    return PeopleCard(
                      People: _items[index],
                      source: 2,
                    );
                  },
                  itemCount: _items.length,
                ),
              )),
    );
  }

如果项目列表的长度为1或2或任何不需要滚动的数量,则刷新指示符也应该可以工作。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2019-08-15 22:44:38

将物理设置为AlwaysScrollableScrollPhysics,就像下面的代码一样。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
new RefreshIndicator(
    key: _refreshIndicatorKey,
    color: Colors.blue,
    onRefresh: (){
        setState(() {
            _future = fetchPosts(http.Client()); 
            _getAvalailableSlots();
        });
    },
    child: ListView.builder(
        physics: AlwaysScrollableScrollPhysics(),
        itemCount: data.length,
        itemBuilder: (context, i) {
            //do something
        }
    )
)
票数 69
EN

Stack Overflow用户

发布于 2022-04-25 04:53:03

案例1:

在您的Listview或SingleChildScrollView中使用AlwaysScrollableScrollPhysics()。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
physics: const AlwaysScrollableScrollPhysics(),

案例2:

如果你想用其他的卷轴物理,用这个方法.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
physics: BouncingScrollPhysics(
 parent: AlwaysScrollableScrollPhysics(),
),

案例3:

确保你没有让shrinkWrap,真的。ShrinkWrap必须像默认一样是假的。

shrinkWrap:没错。❌

shrinkWrap:假的。✅

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
shrinkWrap: false,

案例4:

如果您有除listview以外的任何自定义小部件,请这样使用堆栈和listview .

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
     RefreshIndicator(
      onRefresh: () async {
        print('refreshing');
      },
      Stack(
        children: [
          YourWidget(),
          ListView(
            physics: const AlwaysScrollableScrollPhysics(),
          ),
        ],
      ),
     ),
票数 17
EN

Stack Overflow用户

发布于 2021-08-09 05:19:51

与BouncingScrollPhysics一起使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 RefreshIndicator(
              onRefresh: () async {
              
              },
              child: ListView.builder(
                  physics: BouncingScrollPhysics(
                      parent: AlwaysScrollableScrollPhysics()),
                  itemBuilder: (context, index) {
                    return Text("${index}");
                   }),
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57519765

复制
相关文章
Jquery 获取第一个子元素
<ul>   <li>John</li>   <li>Karl</li>   <li>Brandon</li> </ul> 获取第一个元素:  $("ul li:first-child") <div id="getfirst">    <ul>     <li>John</li>     <li>Karl</li>     <li>Brandon</li>   </ul> </div> 获取第一个元素:  $("#getfirst").find("ul li:first-child") 或$("#getfi
庞小明
2018/03/07
3.5K0
JQuery向导插件Step——第一个阉割版插件
如果使用过JQuery Steps的朋友一定会发现这个插件有一个缺点,就是页面在第一次进入的时候,会进行一次很明显的DOM重绘——页面会闪一下。 尤其是前端代码比较庞大的时候,效果更为明显。 为了解决这个问题,就想使用点轻量级的流程向导。于是网上搜了下,恰好社友有这样一个插件,感谢杨元 不过使用起来还是有点不太喜欢的地方: 1 tooltip样式比较简陋,不好看. 2 间距太窄了,没有响应式. 3 缺少一些上一步下一步的触发动作以及校验. 因此就根据ystep的源码以及JQuery.steps的流程
用户1154259
2018/01/17
1.7K0
JQuery向导插件Step——第一个阉割版插件
LeetCode--缺失的第一个正数(41)和 接雨水(42)
来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/first-missing-positive
周小末天天开心
2023/10/16
1510
LeetCode--缺失的第一个正数(41)和 接雨水(42)
第一个程序
程序员学习程序开发都喜欢以输出“hello world”为第一个程序,我们也学习一下这种模式,因为Excel VBA主要是操作Excel,所以我们的第一个程序目的:在A1单元格输入“hello Excel VBA”。
xyj
2020/07/28
1.5K0
第一个程序
Hibernate第一个程序
文章目录 1. Hibernate第一个程序 1.1. 创建一个Maven项目 1.2. 创建一个实体类(JavaBean) 1.3. 创建这个实体类Student的映射文件 1.4. 核心配置文件(hibernate.cfg.xml) 1.5. 工具类(HibernateUtil) 1.6. 测试类 1.7. 总结 Hibernate第一个程序 创建一个Maven项目 <dependencies> <!-- hibernate核心jar包 --> <dependency> <groupId>o
爱撒谎的男孩
2019/12/31
4690
第一个jsp项目
JSP执行过程 JSP页面元素 不同注释类型的效果 .jsp代码 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPo
是阿超
2021/10/15
6820
第一个go程序
p.p1 { margin: 0; font: 11px Menlo; color: rgba(0, 0, 0, 1) } span.s1 { font-variant-ligatures: no-common-ligatures }
用户7798898
2020/09/27
5490
一个小时学会jQuery
前一段时间录了一套关于jQuery的视频分享给大家,可以在下载区下载到,本来想配合文字一起的,后面发现视频+帮助文档也是非常好的学习方法。 一、jQuery简介与第一个jQuery程序 1.1、jQu
张果
2018/01/04
18.6K0
一个小时学会jQuery
第一个Article Demo
Rainbow.jpg ---- class RunIt{ public void getInfo(){ try{ Thread td = Thread.currentThread(); for(int i = 0; i < 5; i++){ Thread.sleep(10000); System.out.println("线程名称:" + td.getName()
Felix_wang
2020/07/06
1980
第一个Article Demo
第一个DirectShow程序
1: 4: #include 5: 6: 7: #include dshowh 8: 9: 10: IGraphBuilder pGraph NULL 11: IMediaControl pControl NULL 12: IMediaEvent pEvent NULL 13: 14: HRESULT hr CoInitializeNULL 16: FAILEDhr 17: 18: printf 19: 20: 21: 22: h
逍遥剑客
2018/05/21
5530
第一个JDBC程序
准备mysql数据库的驱动jar包:mysql-connector-java-5.1.13-bin.jar;
星哥玩云
2022/09/14
2860
第一个小程序。
app.json是对整个小程序的全局配置,这里我就设置了一个导航页,此外对一些窗口的属性进行配置。
小F
2020/10/09
5350
第一个小程序。
制作第一个网页
一般是程序员使用新编程语言写的第一个测试程序,对于程序员来说,hello world能够正常展示到浏览器上,就表示我们的代码已经能够编译正常运行了。所以我们就从最简单的hello world开始。
呆呆
2021/09/28
4950
第一个django工程
django是python语言的一款WEB开发框架,遵循MVC架构。如何创建一个简单的dango工程呢?请往下看!!
搁浅同学
2022/07/21
3170
第一个django工程
shiro 第一个授权
1 第一个shiro授权程序 package com.shi.authorization; import java.util.Arrays; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.UsernamePasswordToken; import org.apache.shiro.config.IniSecurityManagerFactory; import org.apache.shiro.mgt.Secu
用户5927264
2019/07/31
3450
第一个python实例
    ''' Return the information in /proc/CPUinfo
py3study
2020/01/13
3670
第一个MVC程序
/ 和 /* 的区别:< url-pattern > / </ url-pattern > 不会匹配到.jsp, 只针对我们编写的请求;即:.jsp 不会进入spring的 DispatcherServlet类 。< url-pattern > /* </ url-pattern > 会匹配 *.jsp,会出现返回 jsp视图 时再次进入spring的DispatcherServlet 类,导致找不到对应的controller所以报404错。
后端码匠
2021/08/18
3600
第一个Python程序
2、在交互式环境的提示符>>>下,直接输入代码,按回车,就可以立刻得到代码执行结果
py3study
2020/01/14
4960
[Java学习第二章]第一个Java程序
编写Java应用程序可以使用任何一个文本编辑器来编写程序,然后使用JDK搭配的工具惊醒编译和运行,现在流行的开发工具都可以自动完成Java程序的编译和运行,还带有代码辅助功能,在开发一个简单的程序时还是原始的文本编辑器比较快。
爱游博客
2019/08/06
3570
第一个Mybatis程序
1.MyBatis 是一款优秀的持久层框架 2.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 3.MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
Albert_xiong
2021/06/21
3950
第一个Mybatis程序

相似问题

jQuery第一个孩子第一个孩子

45

一个接一个的jQuery FadeIn嵌套图像

10

一个接一个的ajax jQuery FadeIn元素

355

jQuery找到孩子的第一个孩子

40

fadeIn李一个接一个

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文