如何将滑动和更快的滚动添加到ScrollView?

时间:2018-04-08 19:16:36

标签: android xml android-layout android-fragments scrollview

我在片段的布局中使用ScrollView,但滚动比大多数其他应用程序慢得多,而且根本不会滑动。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <include layout="@layout/toolbar" />

    <ScrollView 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

            <include layout="@layout/content" />

    </ScrollView>
</RelativeLayout>

@layout/content

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

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

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recycler_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:clipToPadding="false"
        android:scrollbars="vertical" />

      <LinearLayout 
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_gravity="center_horizontal">

        <android.support.v7.widget.CardView 
             xmlns:android="http://schemas.android.com/apk/res/android"
             xmlns:cardview="http://schemas.android.com/apk/res-auto"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_margin="8dp"
             android:foreground="?android:attr/selectableItemBackground"
             cardview:cardCornerRadius="8dp"
             android:clickable="true"
             android:focusable="true">

             <LinearLayout
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:orientation="horizontal"
              android:padding="6dp">

                   <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/ic_arrow_forward_24dp" />

                    <LinearLayout
                     android:layout_width="fill_parent"
                     android:layout_height="wrap_content"
                     android:layout_marginStart="4dp"
                     android:layout_weight="0.9"
                     android:orientation="vertical"
                     android:padding="4dp">

                         <TextView
                          android:id="@+id/view_more"
                          android:layout_width="match_parent"
                          android:layout_height="wrap_content"
                          android:text="View more" />
                     </LinearLayout>
                 </LinearLayout>
            </android.support.v7.widget.CardView>
      </LinearLayout>
</LinearLayout>

1 个答案:

答案 0 :(得分:0)

我建议你在你的案例中使用NestedScrollView,因为你RecyclerView内有ScrollView。请修改父布局,如下所示。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <include layout="@layout/toolbar" />

    <NestedScrollView 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

            <include layout="@layout/content" />

    </NestedScrollView>
</RelativeLayout>