当第一个项目的高度为0

时间:2016-11-24 13:23:46

标签: android android-recyclerview swiperefreshlayout

SwipeRefreshLayoutonRefresh的第一项高度为零时,

RecyclerView不起作用(动画未显示,SwipeRefreshLayout未调用)。

您可以查看显示此项的测试项目on Github

我的问题是:这种效果可以被规避吗? 在我的实际项目中,由于我手中的情况(广告库),我的列表中的第一项有时会高度为0,因此将其设置为View.GONE1的高度不是一个选项。

2 个答案:

答案 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>

它会导致其他透支,但是可以起作用

这里没有更多建议:https://github.com/airbnb/epoxy/issues/74