rokevin
移动
前端
语言
  • 基础

    • Linux
    • 实施
    • 版本构建
  • 应用

    • WEB服务器
    • 数据库
  • 资讯

    • 工具
    • 部署
开放平台
产品设计
  • 人工智能
  • 云计算
计算机
其它
GitHub
移动
前端
语言
  • 基础

    • Linux
    • 实施
    • 版本构建
  • 应用

    • WEB服务器
    • 数据库
  • 资讯

    • 工具
    • 部署
开放平台
产品设计
  • 人工智能
  • 云计算
计算机
其它
GitHub
  • SwipeRefreshLayout

SwipeRefreshLayout

1.解决和ListView冲突问题

lvOrder.setOnScrollListener(new AbsListView.OnScrollListener() {

@Override
public void onScroll(AbsListView view, int firstVisibleItem,
                     int visibleItemCount, int totalItemCount) {
    lastItem = firstVisibleItem + visibleItemCount;
    totalItem = totalItemCount;
}

@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
    if (totalItem == lastItem && scrollState == SCROLL_STATE_IDLE) {
        // 滚动到底部
    }
    //判断ListView是否滑动到第一个Item的顶部
    if (lvOrder.getChildCount() > 0 && lvOrder.getFirstVisiblePosition() == 0
            && lvOrder.getChildAt(0).getTop() >= lvOrder.getPaddingTop()) {
        //解决滑动冲突,当滑动到第一个item,下拉刷新才起作用
        srlRefresh.setEnabled(true);
    } else {
        srlRefresh.setEnabled(false);
    }
}

}); 2:解决和ScrollView冲突问题 svScroll.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() { @Override public void onScrollChanged() { if (srlRefresh != null) { srlRefresh.setEnabled(svScroll.getScrollY() == 0); } } });

最近更新:: 2025/10/22 15:36
Contributors: luokaiwen