#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 должен иметь только одного прямого дочернего элемента