可滑动控件判断是否滑到底部和顶部的方法总结
来源:互联网 发布:王思聪 霍顿 知乎 编辑:程序博客网 时间:2024/04/29 14:48
一、ListView 和GridView,判断方法相同。
public boolean isGetTop() { if (absListView.getCount() == 0) { return true; } else if (absListView.getFirstVisiblePosition() == 0 && absListView.getChildAt(0).getTop() >= absListView.getPaddingTop()) { return true; } return false; }
public boolean isGetBottom() { int firstVisiblePosition = absListView.getFirstVisiblePosition(); int lastVisiblePosition = absListView.getLastVisiblePosition(); int count = absListView.getCount(); if (count == 0) { return true; } else if (lastVisiblePosition == (count - 1)) { View view = absListView.getChildAt(lastVisiblePosition - firstVisiblePosition); if (view != null && view.getBottom() <= absListView.getMeasuredHeight() - absListView.getPaddingBottom()) return true; } return false; }
二、ScrollView 和 NestedScrollView
public boolean isGetTop() { if (scrollView.getScrollY() <= 0) return true; else return false; }
public boolean isGetBottom() { if (scrollView.getChildCount() == 0) { return true; } if (scrollView.getScrollY() >= (scrollView.getChildAt(0).getHeight() - scrollView.getMeasuredHeight())) return true; else return false; }
三、WebView
public boolean isGetBottom() { if (webView.getScrollY() >= webView.getContentHeight() * webView.getScale() - webView.getMeasuredHeight()) return true; else return false; }
public boolean isGetTop() { if (webView.getScrollY() <= 0) return true; else return false; }
四、RecyclerView
private void initLayoutManager() { if (layoutManager == null) { RecyclerView.LayoutManager layout = recyclerView.getLayoutManager(); if (layout != null && layout instanceof LinearLayoutManager) { layoutManager = (LinearLayoutManager) layout; } } }
public boolean isGetTop() { initLayoutManager(); if (layoutManager != null) { if (layoutManager.getItemCount() == 0) { return true; } else if (layoutManager.findFirstVisibleItemPosition() == 0 && recyclerView.getChildAt(0).getTop() >= recyclerView.getPaddingTop()) { return true; } } return false; }
public boolean isGetBottom() { initLayoutManager(); if (layoutManager != null) { int count = layoutManager.getItemCount(); if (count == 0) { return true; } else if (layoutManager.findLastCompletelyVisibleItemPosition() == count - 1) { return true; } } return false; } }
1 0
- 可滑动控件判断是否滑到底部和顶部的方法总结
- 判断ScrolllView是否滑动到底部和顶部
- ScrollView判断是否滑动到底部和顶部
- Android中判断listview是否滑动到顶部和底部方法
- ScrollView判断滑动到底部和顶部
- ListView自动滑动到顶部(底部)的方法总结
- ListView自动滑动到顶部(底部)的方法总结
- 判断ScrollView是否滑动到底部或顶部
- 判断listview滑到顶部和底部
- 判断tableView滑到顶部和底部
- 关于判断scrollview的滑动到顶部和底部的问题
- ListView自动滑动到顶部(底部)的方法总结(3种方法)
- 监听scroollview、listview、gridview页面滑动,判断是否滑动到顶部以及底部
- ListView和GridView滑动到顶部和底部时出现的阴影消除方法
- ListView和GridView滑动到顶部和底部时出现的阴影消除方法 .
- ListView和GridView,ViewPager滑动到顶部和底部时出现的阴影消除方法
- Js判断H5上下滑动方向及滑动到顶部和底部判断
- ListView滑动到顶部和底部时出现的阴影消除方法
- 两个activity共享数据的另一种方法(个人学习笔记)
- ABAQUS不收敛如何解决
- JSON.stringify(value, replacer, space)详解
- Mysql存储过程实例
- 循环与递归的区别
- 可滑动控件判断是否滑到底部和顶部的方法总结
- bootstrap使用说明
- nginx 编译参数
- java.util包报错
- MySql的join(连接)查询 (三表 left join 写法)
- nginx中防止SQL注入规则(非常详细)
- php自定义函数取数组中的值
- Unity 判断鼠标上下左右拖动
- 解决Yii有时候会获取不到redis数据的问题