我之前使用的是API19,我的许多片段都使用了SwipeRefreshLayout
。当我之前第一次加载内容时,我使用的是setRefreshing(true);
,并且能够加载内容,它工作得很好。
我注意到在Android 5.0中,Google使用的是循环进度视图。当我现在调用setRefreshing(true);
时,它根本没有任何效果。有没有办法以编程方式显示新的微调器?我已经深入研究了这一点,但不能以编程的方式展示它。关于这一点,我读到了以下内容:
http://developer.android.com/tools/support-library/index.html
https://yassirh.com/2014/05/how-to-use-swiperefreshlayout-the-right-way/
SwipeRefreshLayout doesn't show any indicator of refreshing
基本上,它在第一次尝试时不会显示刷新的迹象。
发布于 2014-10-29 12:51:32
我遇到了同样的问题,但只在使用StickyListHeadersListView
的情况下。使用android.widget.ListView
,一切都很正常。
我认为在api 21中,Google已经重写了Listview类。如果您正在使用Listview子类,我猜您可能需要在API21中创建subclass exends android.widget.ListView
。
发布于 2014-10-30 04:12:23
您必须记住的是,材质设计SwipeRefreshLayout已更改,而旧的使用了BakedBezierInterpolator,但新的使用了“拖入位置”进度微调器
不幸的是,API21不再包含BakedBezierInterpolator,所以从我的角度来看,您有两个选择: 1)将微调器向下移动(并记得在之后将其向上移动) 2)在最初加载数据时,使您自己的微调器位于屏幕上
如果您想保持您的微调器不变,那么一定要使用SwipeRefreshLayout微调器,但一定要记得重新定位它
我希望这能在某种程度上有所帮助。
发布于 2014-11-03 02:31:40
您可以尝试在setRefreshing(true)之前调用measure(int,int)方法
https://stackoverflow.com/questions/26601175
复制相似问题