我想使用 RecyclerView 作为其子级之一的可滚动屏幕,层次结构如下所示:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
...
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
.../>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
.../>
<FrameLayout
.../>
<android.support.v7.widget.RecyclerView
android:id="@+id/list_contacts"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false"
android:nestedScrollingEnabled="false"/>
<FrameLayout
.../>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</LinearLayout>
请注意,RecyclerView
的所有项目都应该可见,并且是 ImageView , FrameLayout 等的同级
在当前解决方案中,有一个重大问题,所有项目都立即调用 onBindViewHolder ,但是我希望它们在屏幕上出现时像标准{{1 }}。我在做一些实验
RecyclerView
但是它毕竟失败了。
我知道解决方案之一是实现异构 recyclerView,但我想避免这样做。有什么想法吗?
答案 0 :(得分:0)
可能是因为在这种情况下,recyclerview无法知道自身的高度。 你可以尝试:
layoutManager.isAutoMeasureEnabled=true