我有一个SwipeRefreshLayout,里面有一个ListView。同时我设置了ActionBar覆盖,基本上ListView的顶部位于ActionBar的后面,包括SwipeRefreshLayout在内,当我触发刷新时,动画在ActionBar后面,因此不可见。有什么好的想法吗?
我有一个SwipeRefreshLayout,里面有一个ListView。同时我设置了ActionBar覆盖,基本上ListView的顶部位于ActionBar的后面,包括SwipeRefreshLayout在内,当我触发刷新时,动画在ActionBar后面,因此不可见。有什么好的想法吗?
不需要在SwipeRefreshLayout上设置paddingTop,而是设置layout_marginTop将使进度条可见:
<android.support.v4.widget.SwipeRefreshLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="?android:attr/actionBarSize">
SwipeRefreshLayout
获得了一个设置进度视图偏移量的方法。
public void setProgressViewOffset (boolean scale, int start, int end)
刷新指示器的起始和休息位置始终位于刷新内容的顶部附近。该位置是一个一致的位置,但可以根据是否存在工具栏或操作栏在任一方向上进行调整。
参数
scale 如果在进度旋转器设置为出现的位置上方没有视图,则设置为true。
start 进度旋转器应出现的此视图顶部的像素偏移量。
end 在成功滑动手势后,进度旋转器应停止的此视图顶部的像素偏移量。我最近在将我的依赖从appcompat 19.1.0升级到21.0.0时遇到了这个问题,并没有进行任何代码更改。
实际上,这是appcompat 21.0.0中SwipeRefreshLayout已知的问题。
在此处查看解决方法:https://code.google.com/p/android/issues/detail?id=77712