我想要RecyclerView
到wrap_content
。我不希望在RecyclerView中滚动任何内容,它应该调整到内部孩子的高度。我不想让我的父ScrollView滚动我的活动内容。
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- scrolls a little bit as RecyclerView goes slightly down beyond the screen -->
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- still scrolls inside -->
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content" />
填充RecyclerView:
myAdapter = new MyAdapter();
layoutManager = new LinearLayoutManager(this);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
mRecyclerView.setAdapter(myAdapter);
我使用RecyclerView
库来修复wrap_content
个问题:
dependencies {
compile 'com.android.support:recyclerview-v7:25.0.0'
}
基本上,RecyclerView高度计算对我来说效果不佳。 RecyclerView仍然有它自己的滚动和ScrollView滚动一点。如果我尝试将一些rediculous RecyclerView高度设置为1000dp,使其大于项目的高度,则滚动按需要工作,例如RecyclerView不会滚动,ScrollView会使用所有RecyclerView项目滚动活动。
那我做错了什么? :)
答案 0 :(得分:4)
我只需要使用android.support.v4.widget.NestedScrollView而不是ScrollView。
答案 1 :(得分:0)
在这种情况下,如果您使用23.0.1使其成为23.1.1或更高版本,则需要升级recyclerview gradle版本。在最新的gradle更新中,google已向recyclerview提供了wrap_content属性。