RecyclerView 高度 wrap_content 计算不正确
RecyclerView height wrap_content calculation is incorrect
我想让我的 RecyclerView
变成 wrap_content
。我不希望 RecyclerView 内有任何滚动,它应该适应内部儿童的高度。我不想让我的父 ScrollView 滚动我的 activity.
的内容
<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 也会滚动一点。如果我尝试将一些可笑的 RecyclerView 高度设置为 1000dp,使其大于项目的总高度,则滚动会根据需要工作,例如RecyclerView 不滚动,ScrollView 滚动 activity 和所有 RecyclerView 项目。
那我做错了什么? :)
在这种情况下,您需要升级您的 recyclerview gradle 版本,如果您使用的是 23.0.1,请将其升级为 23.1.1 或更高版本。在最新的 gradle 更新中 google 向 recyclerview 提供了 wrap_content 属性。
我只需要使用 android.support.v4.widget.NestedScrollView 而不是 ScrollView。
我想让我的 RecyclerView
变成 wrap_content
。我不希望 RecyclerView 内有任何滚动,它应该适应内部儿童的高度。我不想让我的父 ScrollView 滚动我的 activity.
<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 也会滚动一点。如果我尝试将一些可笑的 RecyclerView 高度设置为 1000dp,使其大于项目的总高度,则滚动会根据需要工作,例如RecyclerView 不滚动,ScrollView 滚动 activity 和所有 RecyclerView 项目。
那我做错了什么? :)
在这种情况下,您需要升级您的 recyclerview gradle 版本,如果您使用的是 23.0.1,请将其升级为 23.1.1 或更高版本。在最新的 gradle 更新中 google 向 recyclerview 提供了 wrap_content 属性。
我只需要使用 android.support.v4.widget.NestedScrollView 而不是 ScrollView。