Список CardView не прокручивается в моем приложении

#java #android #android-layout #android-studio #android-cardview

#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>
  

Комментарии:

1. почему отрицательное голосование. вы можете комментировать, что дураки и идиоты голосуют только против.

Ответ №1:

Используйте ScrollView после RelativeLayout и перед линейной компоновкой. 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. не удается добавить его, пожалуйста, посмотрите мой код, я делаю это в Android Studio, это не позволяет мне добавлять полосу прокрутки при получении ошибки. я что-то пропустил

2. да, это работает. почему он не позволяет мне вставить scrollview

Ответ №2:

Scrollview должен быть родительским для остальных представлений внутри вашего относительного макета

    <RelativeLayout>
     <Scrollview>
       <LinearLayout>
        <Cardview>
        <Cardview>
       </LinearLayout>
     </ScrollView>
   </RelativeLayout>
  

Обратите внимание, что ScrollView должен иметь только одного прямого дочернего элемента