SwipeRefreshLayout
在包含RecyclerView
的SwipeRefreshLayout
中第一个项目高度为零时,不起作用(动画未显示,onRefresh
未被调用)。
您可以查看一个测试项目在Github上展示这一点。
我的问题是:这种影响是否可以规避?
在我的实际项目中,由于我无法控制的情况(广告库),我的列表的第一个项目有时会有高度为0
,因此将其设置为View.GONE
或高度为1
不是一个选择。
SwipeRefreshLayout
在包含RecyclerView
的SwipeRefreshLayout
中第一个项目高度为零时,不起作用(动画未显示,onRefresh
未被调用)。
您可以查看一个测试项目在Github上展示这一点。
我的问题是:这种影响是否可以规避?
在我的实际项目中,由于我无法控制的情况(广告库),我的列表的第一个项目有时会有高度为0
,因此将其设置为View.GONE
或高度为1
不是一个选择。
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>
它会导致额外的过度绘制,但是可以正常运行。
在此处发现了几个更多的建议:https://github.com/airbnb/epoxy/issues/74