Android SwiperRefreshLayout 首次加载显示刷新动画
来源:互联网 发布:大屏幕数据展示 html5 编辑:程序博客网 时间:2024/06/17 06:13
转载请注明 作者:田野光 地址:http://blog.csdn.net/lovefish2/article/details/45242731
SwiperRefreshLayout 是Google官方推出的下拉刷新的控件,最近项目中用到时,遇到了一个问题。首次加载数据时,希望能够显示刷新的动画,也就是 SwiperRefreshLayout 自带的CircleView动画(旧版本sdk为彩虹条),但是默认setRefreshing(true)方法,无法实线初次加载显示动画的效果。我们可以这样处理:
swipeRefreshLayout.setProgressViewOffset(false, 0, (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 24, getResources().getDisplayMetrics()));swipeRefreshLayout.setRefreshing(true);
不过由于显示的动画只是CircleView原地转圈,不包含下拉过程的动画。数据处理过程时间一般不会很长,所以显示时间较短。我们可以手动的增加动画延时。
final Handler handler = new Handler();handler.postDelayed(new Runnable() { @Override public void run() { swipeLayout.setRefreshing(false); errorSwipeLayout.setRefreshing(false); }}, 1000);
更新遇到的问题:2.3的设备上,会导致这样一个bug:如果手指滑动距离达不到触发刷新的条件,CircleView会显示空白,一直悬停在屏幕上。4.0以上设备无此情况。
原因:未知。如果有大神了解,请赐教!
解决办法:setProgressViewOffset第一个参数设为true。如果在Z方向没有高于progress spinner显示的视图,这样修改应该没有问题。
参考资料:
1. http://stackoverflow.com/questions/26858692/swiperefreshlayout-setrefreshing-not-showing-indicator-initially
2. https://code.google.com/p/android/issues/detail?id=77712
0 0
- Android SwiperRefreshLayout 首次加载显示刷新动画
- SwiperrefreshLayout实现下拉刷新(demo)
- Android 中SwipeRefreshLayout刷新动画不显示的问题
- webBrowser首次加载不能正确显示?
- SwipeRefreshLayout手动显示刷新动画
- Android旋转刷新动画
- android显示开机动画的延时时间内时加载activity
- android 无任何依赖实现网络加载显示Gif动画
- angularjs 首次加载页面 及页面切换的动画
- Android Launcher7.0首次数据加载逻辑
- 【Android】ListView刷新、加载
- Android 刷新加载框架
- Android- 分页加载显示数据(上拉加载,下拉刷新)
- 自定义下拉刷新上拉加载动画
- RecyclerView 水滴刷新动画 加载更多
- Androi_SwipeRefreshLayout上拉刷新、AVLoadingIndicatorView加载动画
- Androi_SwipeRefreshLayout上拉刷新、AVLoadingIndicatorView加载动画
- 显示gridview加载条目动画
- 数据库设计三大范式
- Oracle中的索引详解 【转】
- 《剑指Offer》面试题14:调整数组顺序使奇数位于偶数前面
- CRC算法原理及其Verilog实现
- 安卓开发性能优化
- Android SwiperRefreshLayout 首次加载显示刷新动画
- java实现矩阵快速幂算法
- 谈.Net委托与线程——创建无阻塞的异步调用(二)
- 推荐两个界面原型设计工具--GUIDesignStudio 和 Mockups For Desktop
- iOS---从浏览器启动应用程序
- java序列化知识整理
- Mac OS X Terminal:终端使用初级教程
- 《剑指Offer》面试题15:链表中倒数第k个结点
- getCurrentSession 与 openSession() 的区别