CardView列表不在我的应用程序中滚动

时间:2016-10-23 06:07:15

标签: java android android-layout android-studio android-cardview

我使用小部件CardView创建了一个布局。它显示卡片视图列表但不向下滚动请查看我的布局。我还创建了AppWall.java。确实需要在java类或布局中添加任何东西才能使它工作。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:tools="http://schemas.android.com/tools"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    tools:context="net.example.app.AppWall">


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#ddd"
        android:orientation="vertical"
        android:padding="16dp">


        <Space
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/toolbar"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:minHeight="55dp"
            android:id="@+id/topspace">
        </Space>



        <android.support.v7.widget.CardView
            android:id="@+id/android_card_view_example"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">


            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#fff"
                android:elevation="4dp"
                android:padding="16dp">



                <ImageView
                    android:id="@+id/cardview_image"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentTop="true"
                    android:layout_marginRight="18dp"
                    android:src="@drawable/profile" />

                <TextView
                    android:id="@+id/cardview_list_title"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentTop="true"
                    android:layout_toRightOf="@+id/cardview_image"
                    android:paddingBottom="5dp"
                    android:text="Flipkart App"
                    android:textSize="24sp" />

                <TextView
                    android:id="@+id/tvInstall"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/cardview_list_title"
                    android:layout_toRightOf="@+id/cardview_image"
                    android:text="Install"
                    android:textColor="@android:color/holo_green_dark"
                    android:textSize="16sp" />

            </RelativeLayout>

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

        <android.support.v7.widget.CardView
            android:id="@+id/android_card_view_example1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="16dp">

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#fff"
                android:elevation="4dp"
                android:padding="16dp">

                <ImageView
                    android:id="@+id/cardview_image1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentTop="true"
                    android:layout_marginRight="18dp"
                    android:src="@drawable/profile" />

                <TextView
                    android:id="@+id/cardview_list_title1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentTop="true"
                    android:layout_toRightOf="@+id/cardview_image1"
                    android:paddingBottom="5dp"
                    android:text="Viral Android"
                    android:textSize="24sp" />

                <TextView
                    android:id="@+id/short_description1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/cardview_list_title1"
                    android:layout_toRightOf="@+id/cardview_image1"
                    android:text="Free android tutorials and examples for beginners and expert."
                    android:textColor="#8b8b8b" />

            </RelativeLayout>

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

        <android.support.v7.widget.CardView
            android:id="@+id/android_card_view_example2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="16dp">

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#fff"
                android:elevation="4dp"
                android:padding="16dp">

                <ImageView
                    android:id="@+id/cardview_image2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentTop="true"
                    android:layout_marginRight="18dp"
                    android:src="@drawable/profile" />

                <TextView
                    android:id="@+id/cardview_list_title2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentTop="true"
                    android:layout_toRightOf="@+id/cardview_image2"
                    android:paddingBottom="5dp"
                    android:text="Viral Android"
                    android:textSize="24sp" />

                <TextView
                    android:id="@+id/short_description2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/cardview_list_title2"
                    android:layout_toRightOf="@+id/cardview_image2"
                    android:text="Free android tutorials and examples for beginners and expert."
                    android:textColor="#8b8b8b" />

            </RelativeLayout>

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

        <android.support.v7.widget.CardView
            android:id="@+id/android_card_view_example3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="16dp">

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="#fff"
                android:elevation="4dp"
                android:padding="16dp">

                <ImageView
                    android:id="@+id/cardview_image3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentTop="true"
                    android:layout_marginRight="18dp"
                    android:src="@drawable/profile" />

                <TextView
                    android:id="@+id/cardview_list_title3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentTop="true"
                    android:layout_toRightOf="@+id/cardview_image3"
                    android:paddingBottom="5dp"
                    android:text="Viral Android"
                    android:textSize="24sp" />

                <TextView
                    android:id="@+id/short_description3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/cardview_list_title3"
                    android:layout_toRightOf="@+id/cardview_image3"
                    android:text="Free android tutorials and examples for beginners and expert."
                    android:textColor="#8b8b8b" />

            </RelativeLayout>

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

        <android.support.v7.widget.CardView
            android:id="@+id/android_card_view_example4"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginTop="16dp">

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#fff"
                android:elevation="4dp"
                android:padding="16dp">

                <ImageView
                    android:id="@+id/cardview_image4"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentTop="true"
                    android:layout_marginRight="18dp"
                    android:src="@drawable/profile" />

                <TextView
                    android:id="@+id/cardview_list_title4"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentTop="true"
                    android:layout_toRightOf="@+id/cardview_image4"
                    android:paddingBottom="5dp"
                    android:text="Viral Android"
                    android:textSize="24sp" />

                <TextView
                    android:id="@+id/short_description4"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/cardview_list_title4"
                    android:layout_toRightOf="@+id/cardview_image4"
                    android:text="Free android tutorials and examples for beginners and expert."
                    android:textColor="#8b8b8b" />

            </RelativeLayout>

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

    </LinearLayout>

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

</RelativeLayout>

2 个答案:

答案 0 :(得分:2)

在RelativeLayout之后和线性布局之前使用ScrollView。 CardView是一个简单的视图,不包含可滚动的功能。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout     xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:gravity="center_horizontal"
android:orientation="vertical"
tools:context="net.example.app.AppWall">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ddd"
    android:orientation="vertical"
    android:padding="16dp">


    <Space
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/toolbar"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:minHeight="55dp"
        android:id="@+id/topspace">
    </Space>



    <android.support.v7.widget.CardView
        android:id="@+id/android_card_view_example"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">


        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#fff"
            android:elevation="4dp"
            android:padding="16dp">



            <ImageView
                android:id="@+id/cardview_image"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginRight="18dp"
                android:src="@drawable/profile" />

            <TextView
                android:id="@+id/cardview_list_title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_toRightOf="@+id/cardview_image"
                android:paddingBottom="5dp"
                android:text="Flipkart App"
                android:textSize="24sp" />

            <TextView
                android:id="@+id/tvInstall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/cardview_list_title"
                android:layout_toRightOf="@+id/cardview_image"
                android:text="Install"
                android:textColor="@android:color/holo_green_dark"
                android:textSize="16sp" />

        </RelativeLayout>

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

    <android.support.v7.widget.CardView
        android:id="@+id/android_card_view_example1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#fff"
            android:elevation="4dp"
            android:padding="16dp">

            <ImageView
                android:id="@+id/cardview_image1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginRight="18dp"
                android:src="@drawable/profile" />

            <TextView
                android:id="@+id/cardview_list_title1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_toRightOf="@+id/cardview_image1"
                android:paddingBottom="5dp"
                android:text="Viral Android"
                android:textSize="24sp" />

            <TextView
                android:id="@+id/short_description1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/cardview_list_title1"
                android:layout_toRightOf="@+id/cardview_image1"
                android:text="Free android tutorials and examples for    beginners and expert."
                android:textColor="#8b8b8b" />

        </RelativeLayout>

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

    <android.support.v7.widget.CardView
        android:id="@+id/android_card_view_example2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#fff"
            android:elevation="4dp"
            android:padding="16dp">

            <ImageView
                android:id="@+id/cardview_image2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginRight="18dp"
                android:src="@drawable/profile" />

            <TextView
                android:id="@+id/cardview_list_title2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_toRightOf="@+id/cardview_image2"
                android:paddingBottom="5dp"
                android:text="Viral Android"
                android:textSize="24sp" />

            <TextView
                android:id="@+id/short_description2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/cardview_list_title2"
                android:layout_toRightOf="@+id/cardview_image2"
                android:text="Free android tutorials and examples for beginners and expert."
                android:textColor="#8b8b8b" />

        </RelativeLayout>

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

    <android.support.v7.widget.CardView
        android:id="@+id/android_card_view_example3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#fff"
            android:elevation="4dp"
            android:padding="16dp">

            <ImageView
                android:id="@+id/cardview_image3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginRight="18dp"
                android:src="@drawable/profile" />

            <TextView
                android:id="@+id/cardview_list_title3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_toRightOf="@+id/cardview_image3"
                android:paddingBottom="5dp"
                android:text="Viral Android"
                android:textSize="24sp" />

            <TextView
                android:id="@+id/short_description3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/cardview_list_title3"
                android:layout_toRightOf="@+id/cardview_image3"
                android:text="Free android tutorials and examples for beginners and expert."
                android:textColor="#8b8b8b" />

        </RelativeLayout>

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

    <android.support.v7.widget.CardView
        android:id="@+id/android_card_view_example4"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="16dp">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#fff"
            android:elevation="4dp"
            android:padding="16dp">

            <ImageView
                android:id="@+id/cardview_image4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginRight="18dp"
                android:src="@drawable/profile" />

            <TextView
                android:id="@+id/cardview_list_title4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_toRightOf="@+id/cardview_image4"
                android:paddingBottom="5dp"
                android:text="Viral Android"
                android:textSize="24sp" />

            <TextView
                android:id="@+id/short_description4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/cardview_list_title4"
                android:layout_toRightOf="@+id/cardview_image4"
                android:text="Free android tutorials and examples for beginners and expert."
                android:textColor="#8b8b8b" />

        </RelativeLayout>

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

    </LinearLayout>
    </ScrollView>

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

        </RelativeLayout>

您可以使用RecyclerView来显示卡片列表。

答案 1 :(得分:2)

Scrollview需要是您的亲戚布局

中其余视图的父级
   <RelativeLayout>
     <Scrollview>
       <LinearLayout>
        <Cardview>
        <Cardview>
       </LinearLayout>
     </ScrollView>
   </RelativeLayout>

尊重scrollView必须只有一个直接子项