3

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

4

3 回答 3

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">
于 2014-08-28T20:25:04.993 回答
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(布尔值,int start,int end)

刷新指示器的开始和停止位置始终位于刷新内容的顶部附近。此位置是一个一致的位置,但可以根据是否存在工具栏或操作栏在任一方向上进行调整。

参数

如果没有比进度微调器设置显示的 z 顺序更高的视图,则设置为 true

start 距此视图顶部的偏移量(以像素为单位),进度微调器应出现在该处。

end 在成功滑动手势后进度微调器应该停止的距离此视图顶部的偏移量(以像素为单位)。

于 2014-10-21T19:27:43.007 回答
0

当我将依赖项从 appcompat 19.1.0 升级到 21.0.0 并且没有进行任何代码更改时,我目前遇到了这个问题。

这实际上是 appcompat 21.0.0 中 SwipeRefreshLayout 的一个已知问题。

在此处查找解决方法:https ://code.google.com/p/android/issues/detail?id=77712

于 2014-11-03T09:49:24.227 回答