简体   繁体   English

cardView + RecyclerView布局中的Android滚动功能

[英]Android scrolling function in cardView + RecyclerView layout

In my application I have first the cardview and then RecyclerView. 在我的应用程序中,我首先有cardview,然后是RecyclerView。 Using my existing code I am able to scroll the whole page. 使用现有代码,我可以滚动整个页面。 But I want that I can also scroll only the card view items. 但是我希望我也只能滚动卡片视图项。 Currently when I try to scroll cardview the complete layout is scrolled. 目前,当我尝试滚动cardview时,会滚动整个布局。

图片

My current code:- 我当前的代码:-

<android.support.design.widget.AppBarLayout
    android:id="@+id/app_bar_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:fitsSystemWindows="true"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">


    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsing_toolbar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_scrollFlags="scroll|exitUntilCollapsed"
        app:contentScrim="?attr/colorPrimary"
        app:expandedTitleMarginStart="48dp"
        app:expandedTitleMarginEnd="64dp"
        android:fitsSystemWindows="true">

        <android.support.v7.widget.CardView style="@style/Card">

            <LinearLayout style="@style/CardContainer"
                android:isScrollContainer="true">


                    <com.greenfrvr.hashtagview.HashtagView
                        android:id="@+id/hashtags6"
                        style="@style/HashtagView"
                        app:rowGravity="center"
                        app:rowMode="stretch"
                        app:selectionMode="true"
                        app:tagBackground="@drawable/item_bg_1"
                        app:tagForeground="@drawable/flat_button_light"
                        app:tagPaddingBottom="@dimen/padding_vertical"
                        app:tagPaddingLeft="@dimen/padding_horizontal"
                        app:tagPaddingRight="@dimen/padding_horizontal"
                        app:tagPaddingTop="@dimen/padding_vertical"
                        app:tagTextColor="#E5E5E5" />



            </LinearLayout>
        </android.support.v7.widget.CardView>




        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
            app:layout_collapseMode="pin" />

    </android.support.design.widget.CollapsingToolbarLayout>


</android.support.design.widget.AppBarLayout>




    <android.support.v7.widget.RecyclerView
    android:id="@+id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior" />

Although google emphatically recommends avoiding making a card scrollable (see this article https://material.google.com/components/cards.html#cards-behavior ) 尽管谷歌强烈建议避免使卡片可滚动(请参阅本文https://material.google.com/components/cards.html#cards-behavior

All you really have to do is wrap the contents of your card with a ScrollView. 您真正需要做的就是用ScrollView包装卡中的内容。

https://developer.android.com/reference/android/widget/ScrollView.html https://developer.android.com/reference/android/widget/ScrollView.html

If your design allows it, I recommend that you place a an action button at the bottom of the card that expands it and contracts it when it is clicked. 如果您的设计允许,我建议您在卡的底部放置一个动作按钮,以使其展开并在单击时收缩。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM