禁用RecyclerView滚动,因此scrollview CHILD可以滚动

时间:2015-09-07 23:17:35

标签: android uiscrollview scrollview android-recyclerview

在RecyclerView中的ScrollView

适配器插入子项,回收器被分区,第三个子项是滚动视图,但它必须在放置第一个和第二个子项后留下的空间中滚动。

我需要在不禁用scrollview的

的情况下禁用recyclerview滚动

Recycler container

onkeyup=function(){}'

这些是scrollview容器的XML初始attr(recyclerview的第三个孩子)

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/Lightgrey"
tools:context="com.inhousecrew.nocturnalkey.fragments.NightDetailsFragment">

            <android.support.v7.widget.RecyclerView
            android:id="@+id/nightlife_detailsrecycler"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:overScrollMode="never"
            android:background="@color/Background"
            />


</RelativeLayout>

最后这是包含回收器的java类,出于逻辑目的,我使用适配器来更改第一个孩子的数据,这就是我使用recyclelerview的原因(首先)

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="220dp"
android:layout_gravity="bottom"
android:id="@+id/scroll_details"
android:background="@color/Lightgrey">

<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="false">

</ScrollView>
</FrameLayout>

1 个答案:

答案 0 :(得分:0)

您可以继承RecyclerView并覆盖onMeasure,如下所示:

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    int heightSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
    super.onMeasure(widthMeasureSpec, heightSpec);
    getLayoutParams().height = getMeasuredHeight();
}