我有一个SwipeRefreshLayout,里面有一个ListView。我还有ActionBar叠加设置,基本上ListView的顶部和SwipeRefreshLayout一起位于操作栏的后面,当我触发刷新时,ActionBar ergo后面的动画不可见。 任何想法?
答案 0 :(得分:1)
不是在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">
答案 1 :(得分:1)
在appcompat-v7库(v21.0.0)的Material Design版本中,SwipeRefreshLayout
获取了一个设置进度视图偏移的方法。
public void setProgressViewOffset (boolean scale,int start,int end)
刷新指示器的开始和静止位置始终位于刷新内容的顶部附近。此位置是一致的位置,但可以根据是否存在工具栏或操作栏在任一方向进行调整。
<强>参数强>
scale 如果没有高于z-order的视图,则设置为true,而不是将进度微调器设置为显示的位置。
start 此视图顶部应显示进度微调器的偏移量(以像素为单位)。
end 此视图顶部的偏移量(以像素为单位),在成功滑动手势后进度微调器应该停留在该位置。
答案 2 :(得分:0)
当我将我的依赖项从appcompat 19.1.0升级到21.0.0并且没有更改代码时,我现在遇到过这种情况。
这实际上是appcompat 21.0.0中SwipeRefreshLayout的已知问题。
在此处查看解决方法:https://code.google.com/p/android/issues/detail?id=77712