SwipeRefreshLayout与Actionbar叠加,动画在动作栏后面

时间:2014-07-03 17:22:17

标签: android android-actionbar overlay android-animation swiperefreshlayout

我有一个SwipeRefreshLayout,里面有一个ListView。我还有ActionBar叠加设置,基本上ListView的顶部和SwipeRefreshLayout一起位于操作栏的后面,当我触发刷新时,ActionBar ergo后面的动画不可见。 任何想法?

3 个答案:

答案 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获取了一个设置进度视图偏移的方法。

https://developer.android.com/reference/android/support/v4/widget/SwipeRefreshLayout.html#setProgressViewOffset(boolean,%20int,%20int)

  

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