SwipeRefreshLayout
中onRefresh
的第一项高度为零时, RecyclerView
不起作用(动画未显示,SwipeRefreshLayout
未调用)。
您可以查看显示此项的测试项目on Github。
我的问题是:这种效果可以被规避吗?
在我的实际项目中,由于我手中的情况(广告库),我的列表中的第一项有时会高度为0
,因此将其设置为View.GONE
或1
的高度不是一个选项。
答案 0 :(得分:0)
如果您可以从广告库中获得回调,则可以通过在RecyclerView.Adapter中添加和删除广告项来解决此问题,具体取决于广告视图是否包含要显示的内容。
答案 1 :(得分:0)
找到一种解决方法:将RecyclerView
放入其他视图:
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
它会导致其他透支,但是可以起作用