NestedScrollview在以子级为相对布局的linearlayout内工作,在以子级为回收器视图的嵌套scrollview中工作

时间:2019-03-26 16:33:02

标签: android android-recyclerview android-linearlayout android-relativelayout android-nestedscrollview

在Linearlayout中,NestedScrollview没有显示,其子级为相对布局,NestedScrollview的子级为回收站视图。

设置适配器和recyclerview.sethasfixedsize(true)后,我尝试将解决方案作为recyclerview.setnestedscrollingenabled(false),但均无效果。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="10dp"
    android:orientation="vertical">

    <RelativeLayout
        android:id="@+id/restaurant_list_header"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <ImageView
            android:id="@+id/img_cusine_1"
            android:layout_width="fill_parent"
            android:layout_height="150dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_alignParentRight="true"
            android:layout_marginLeft="0dp"
            android:layout_marginTop="2dp"
            android:layout_marginRight="0dp"
            android:scaleType="fitXY"
            android:src="@drawable/food_1" />

        <ImageView
            android:id="@+id/arrow_white"
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:layout_alignBottom="@id/img_cusine_1"
            android:layout_marginLeft="20dp"
            android:layout_marginBottom="30dp"
            android:src="@drawable/white_arrow" />

        <TextView
            android:id="@+id/detail_restaurant_name"
            android:layout_width="183dp"

            android:layout_height="27dp"
            android:layout_alignTop="@+id/arrow_white"
            android:layout_alignBottom="@id/img_cusine_1"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"

            android:layout_marginStart="20dp"
            android:layout_marginLeft="31dp"
            android:layout_marginTop="-2dp"
            android:layout_marginEnd="125dp"
            android:layout_marginRight="125dp"
            android:layout_marginBottom="30dp"
            android:layout_toEndOf="@+id/arrow_white"
            android:layout_toRightOf="@+id/arrow_white"
            android:text="Restaurant Name"
            android:textColor="@color/white"
            android:textStyle="bold" />
    </RelativeLayout>

    <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="true"

        >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <TextView
                    android:id="@+id/detail_restaurant_name_sub"
                    style="@style/RestuarantNames"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentStart="true"
                    android:layout_alignParentLeft="true"
                    android:layout_marginStart="8dp"
                    android:layout_marginLeft="8dp"
                    android:text="Restuarant Name" />

                <TextView
                    android:id="@+id/detail_restaurant_ratings"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentEnd="true"
                    android:layout_alignParentRight="true"
                    android:layout_marginEnd="10dp"
                    android:layout_marginRight="10dp"
                    android:background="@color/textGreen"
                    android:text="3.6"
                    android:textColor="@color/white"
                    tools:ignore="RtlHardcoded" />
            </RelativeLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">

                <TextView
                    style="@style/UserLocation"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="2dp"
                    android:text="@string/detail_retaurant_list_ratings_header" />

                <ImageView
                    android:layout_width="250dp"
                    android:layout_height="30dp"
                    android:layout_marginTop="2dp"
                    android:src="@drawable/rating" />
            </LinearLayout>

            <View
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:layout_marginTop="5dp"
                android:background="@android:color/darker_gray" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical">

                <TextView
                    style="@style/UserLocation"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="2dp"
                    android:text="@string/detail_retaurant_list_delivery_place_header" />

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_margin="5dp"
                    android:orientation="horizontal">

                    <ImageView
                        android:id="@+id/green_arrow"
                        android:layout_width="25dp"
                        android:layout_height="25dp"
                        android:contentDescription="User Location"
                        android:src="@drawable/icon_user_location"
                        tools:ignore="HardcodedText" />

                    <TextView
                        android:id="@+id/user_address"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginStart="15dp"
                        android:layout_marginLeft="15dp"
                        android:layout_marginTop="3dp"
                        android:layout_marginEnd="146dp"
                        android:layout_marginRight="146dp"
                        android:layout_marginBottom="-6dp"
                        android:text="Rajouri Garden"
                        android:textStyle="bold"
                        tools:ignore="HardcodedText" />

                    <!--<TextView
                        android:layout_alignParentRight="true"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:id="@+id/user_address_change"
                        android:text="@string/user_change"
                        android:layout_marginRight="10dp"
                        style="@style/User_Green_Font" />-->
                </LinearLayout>

                <View
                    android:layout_width="match_parent"
                    android:layout_height="1dp"
                    android:layout_marginTop="5dp"
                    android:background="@android:color/darker_gray" />

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="5dp"
                    android:text="Delivery in 33 minutes.Live tracking available"
                    android:textColor="#FF7F50"
                    android:textStyle="bold" />

                <View
                    android:layout_width="match_parent"
                    android:layout_height="1dp"
                    android:layout_marginTop="5dp"
                    android:background="@android:color/darker_gray" />

                <Switch
                    android:id="@+id/vegSwitch"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="2dp"
                    android:text="@string/dish_type_veg"
                    android:textColor="@color/grey"
                    android:textStyle="bold" />

                <TextView
                    style="@style/HeaderRestuarantsRecommendations"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="@string/dish_type_best_sellers" />

                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <android.support.v4.widget.SwipeRefreshLayout
                        android:id="@+id/swipe_layout"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent">

                        <android.support.v7.widget.RecyclerView
                            android:id="@+id/recycler_food_list"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"

                            />

                    </android.support.v4.widget.SwipeRefreshLayout>

                    <com.andremion.counterfab.CounterFab
                        android:id="@+id/fab"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentRight="true"
                        android:layout_alignParentBottom="true"
                        android:layout_gravity="bottom|end"
                        android:src="@drawable/ic_shopping_cart_black_24dp"
                        app:backgroundTint="#3CB371"
                        tools:ignore="VectorDrawableCompat" />

                </RelativeLayout>
            </LinearLayout>

        </LinearLayout>
    </android.support.v4.widget.NestedScrollView>

</LinearLayout>

预期结果:需要滚动Nestedscrollview内具有较大图像的相对布局下的所有元素。 实际:无法看到嵌套的滚动视图,尝试使用recyclerview.setnestedscrollingenabled(false)来隐藏recycler视图以及recyclerview.sethasfixedsize(true)的滚动行为,但没有任何效果。 如果我没有在两个属性上设置以上,则可以看到回收站视图的滚动。

0 个答案:

没有答案