尝试向网格布局添加额外卡片时,卡片正在缩小

cards are shrinking when trying to add extra cards to the grid layout

在 android 工作室中,当我尝试添加更多卡片并将布局更改为滚动视图时,window 不是滚动而是缩小卡片以适应同一个 window,而我希望它滚动并在所有卡片中清楚地显示图像视图和文本视图(图像视图下方的文本视图)

我知道我遗漏了一些非常基本的东西,但无法获得 through.Please 帮助。 这是我的 XML 代码,

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:background="@drawable/jhyti"
        android:weightSum="10"

    >
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_weight="2"
        android:layout_height="0dp">

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="294dp"
            android:layout_height="89dp"
            android:layout_alignParentEnd="true"
            android:layout_centerVertical="true"
            android:layout_marginEnd="46dp"
            android:gravity="center_vertical"
            android:src="@drawable/logo" />

    </RelativeLayout>

    <GridLayout
        android:columnCount="2"
        android:rowCount="3"
        android:alignmentMode="alignMargins"
        android:columnOrderPreserved="false"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="8"
        android:padding="14dp">

        <!--ROW 1 - -!>

        <!- -CARD 1-->
        <android.support.v7.widget.CardView
            android:layout_width="0dp"
            android:layout_height="120dp"
            android:layout_columnWeight="1"
            android:layout_rowWeight="1"
            android:layout_marginBottom="16dp"
            android:layout_marginLeft="16dp"
            android:layout_marginRight="16dp"
            app:cardCornerRadius="8dp"
            app:cardElevation="8dp"

            >

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal|center_vertical"
                android:layout_margin="16dp"
                android:orientation="vertical">

                <ImageView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:src="@drawable/stock1" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="CHAPTER 1"
                    android:textAlignment="center"
                    android:textColor="@color/black"
                    android:textSize="18sp"
                    android:textStyle="bold|italic" />
            </LinearLayout>


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

        <!--CARD 2-->
        <android.support.v7.widget.CardView
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_columnWeight="1"
            android:layout_rowWeight="1"
            android:layout_marginBottom="16dp"
            android:layout_marginLeft="16dp"
            android:layout_marginRight="16dp"
            app:cardCornerRadius="8dp"
            app:cardElevation="8dp"

            >
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal|center_vertical"
                android:layout_margin="16dp"
                android:orientation="vertical">

                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:src="@drawable/stock2" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="CHAPTER 2"
                    android:textAlignment="center"
                    android:textColor="@color/black"
                    android:textSize="12sp"
                    android:textStyle="bold|italic" />
            </LinearLayout>


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


        <!--ROW 2 - -!>

         <!- -CARD 1-->
        <android.support.v7.widget.CardView
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_columnWeight="1"
            android:layout_rowWeight="1"
            android:layout_marginBottom="16dp"
            android:layout_marginLeft="16dp"
            android:layout_marginRight="16dp"
            app:cardCornerRadius="8dp"
            app:cardElevation="8dp"

            >
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal|center_vertical"
                android:layout_margin="16dp"
                android:orientation="vertical">

                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:src="@drawable/stock3" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="CHAPTER 3"
                    android:textAlignment="center"
                    android:textColor="@color/black"
                    android:textSize="12sp"
                    android:textStyle="bold|italic" />
            </LinearLayout>


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

        <!--CARD 2-->
        <android.support.v7.widget.CardView
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_columnWeight="1"
            android:layout_rowWeight="1"
            android:layout_marginBottom="16dp"
            android:layout_marginLeft="16dp"
            android:layout_marginRight="16dp"
            app:cardCornerRadius="8dp"
            app:cardElevation="8dp"

            >
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal|center_vertical"
                android:layout_margin="16dp"
                android:orientation="vertical">

                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:src="@drawable/stock4" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="CHAPTER 4"
                    android:textAlignment="center"
                    android:textColor="@color/black"
                    android:textSize="12sp"
                    android:textStyle="bold|italic" />
            </LinearLayout>


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


        <!--ROW 3 - -!>

        <!- -CARD 1-->
        <android.support.v7.widget.CardView
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_columnWeight="1"
            android:layout_rowWeight="1"
            android:layout_marginBottom="16dp"
            android:layout_marginLeft="16dp"
            android:layout_marginRight="16dp"
            app:cardCornerRadius="8dp"
            app:cardElevation="8dp"

            >
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal|center_vertical"
                android:layout_margin="16dp"
                android:orientation="vertical">

                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:src="@drawable/stock5" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="CHAPTER 5"
                    android:textAlignment="center"
                    android:textColor="@color/black"
                    android:textSize="12sp"
                    android:textStyle="bold|italic" />
            </LinearLayout>


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

        <!--CARD 2-->
        <android.support.v7.widget.CardView
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_columnWeight="1"
            android:layout_rowWeight="1"
            android:layout_marginBottom="16dp"
            android:layout_marginLeft="16dp"
            android:layout_marginRight="16dp"
            app:cardCornerRadius="8dp"
            app:cardElevation="8dp"

            >
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal|center_vertical"
                android:layout_margin="16dp"
                android:orientation="vertical">

                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:src="@drawable/stock6" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="CHAPTER 6"
                    android:textAlignment="center"
                    android:textColor="@color/black"
                    android:textSize="12sp"
                    android:textStyle="bold|italic" />
            </LinearLayout>


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



        <!--ROW 7 - -!>

         <!- -CARD 1-->
        <android.support.v7.widget.CardView
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_columnWeight="1"
            android:layout_rowWeight="1"
            android:layout_marginBottom="16dp"
            android:layout_marginLeft="16dp"
            android:layout_marginRight="16dp"
            app:cardCornerRadius="8dp"
            app:cardElevation="8dp"

            >
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal|center_vertical"
                android:layout_margin="16dp"
                android:orientation="vertical">

                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:src="@drawable/stock1" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="CHAPTER 7"
                    android:textAlignment="center"
                    android:textColor="@color/black"
                    android:textSize="12sp"
                    android:textStyle="bold|italic" />
            </LinearLayout>


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

        <!--CARD 2-->
        <android.support.v7.widget.CardView
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_columnWeight="1"
            android:layout_rowWeight="1"
            android:layout_marginBottom="16dp"
            android:layout_marginLeft="16dp"
            android:layout_marginRight="16dp"
            app:cardCornerRadius="8dp"
            app:cardElevation="8dp"

            >
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal|center_vertical"
                android:layout_margin="16dp"
                android:orientation="vertical">

                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:src="@drawable/stock2" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="CHAPTER 2"
                    android:textAlignment="center"
                    android:textColor="@color/black"
                    android:textSize="12sp"
                    android:textStyle="bold|italic" />
            </LinearLayout>


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




    </GridLayout>

    </LinearLayout>

</ScrollView>

从您的 RelativeGridLayout 中删除 weight

将高度设置为 android:layout_height="wrap_content"

  <?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    tools:context=".MainActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/jhyti"
        android:orientation="vertical">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <ImageView
                android:id="@+id/imageView1"
                android:layout_width="294dp"
                android:layout_height="89dp"
                android:layout_alignParentEnd="true"
                android:layout_centerVertical="true"
                android:layout_marginEnd="46dp"
                android:gravity="center_vertical"
                android:src="@drawable/logo" />

        </RelativeLayout>

        <GridLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:alignmentMode="alignMargins"
            android:columnCount="2"
            android:columnOrderPreserved="false"
            android:padding="14dp">

            <!--ROW 1 - -!>

            <!- -CARD 1-->
            <android.support.v7.widget.CardView
                android:layout_width="0dp"
                android:layout_height="120dp"
                android:layout_columnWeight="1"
                android:layout_marginBottom="16dp"
                android:layout_marginLeft="16dp"
                android:layout_marginRight="16dp"
                android:layout_rowWeight="1"
                app:cardCornerRadius="8dp"
                app:cardElevation="8dp">

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal|center_vertical"
                    android:layout_margin="16dp"
                    android:orientation="vertical">

                    <ImageView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal"
                        android:src="@drawable/stock1" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="CHAPTER 1"
                        android:textAlignment="center"
                        android:textColor="@color/black"
                        android:textSize="18sp"
                        android:textStyle="bold|italic" />
                </LinearLayout>


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

            <!--CARD 2-->
            <android.support.v7.widget.CardView
                android:layout_width="0dp"
                android:layout_height="120dp"
                android:layout_columnWeight="1"
                android:layout_marginBottom="16dp"
                android:layout_marginLeft="16dp"
                android:layout_marginRight="16dp"
                android:layout_rowWeight="1"
                app:cardCornerRadius="8dp"
                app:cardElevation="8dp"

                >

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal|center_vertical"
                    android:layout_margin="16dp"
                    android:orientation="vertical">

                    <ImageView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal"
                        android:src="@drawable/stock2" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="CHAPTER 2"
                        android:textAlignment="center"
                        android:textColor="@color/black"
                        android:textSize="12sp"
                        android:textStyle="bold|italic" />
                </LinearLayout>


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


            <!--ROW 2 - -!>

             <!- -CARD 1-->
            <android.support.v7.widget.CardView
                android:layout_width="0dp"
                android:layout_height="120dp"
                android:layout_columnWeight="1"
                android:layout_marginBottom="16dp"
                android:layout_marginLeft="16dp"
                android:layout_marginRight="16dp"
                android:layout_rowWeight="1"
                app:cardCornerRadius="8dp"
                app:cardElevation="8dp"

                >

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal|center_vertical"
                    android:layout_margin="16dp"
                    android:orientation="vertical">

                    <ImageView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal"
                        android:src="@drawable/stock3" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="CHAPTER 3"
                        android:textAlignment="center"
                        android:textColor="@color/black"
                        android:textSize="12sp"
                        android:textStyle="bold|italic" />
                </LinearLayout>


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

            <!--CARD 2-->
            <android.support.v7.widget.CardView
                android:layout_width="0dp"
                android:layout_height="120dp"
                android:layout_columnWeight="1"
                android:layout_marginBottom="16dp"
                android:layout_marginLeft="16dp"
                android:layout_marginRight="16dp"
                android:layout_rowWeight="1"
                app:cardCornerRadius="8dp"
                app:cardElevation="8dp"

                >

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal|center_vertical"
                    android:layout_margin="16dp"
                    android:orientation="vertical">

                    <ImageView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal"
                        android:src="@drawable/stock4" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="CHAPTER 4"
                        android:textAlignment="center"
                        android:textColor="@color/black"
                        android:textSize="12sp"
                        android:textStyle="bold|italic" />
                </LinearLayout>


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


            <!--ROW 3 - -!>

            <!- -CARD 1-->
            <android.support.v7.widget.CardView
                android:layout_width="0dp"
                android:layout_height="120dp"
                android:layout_columnWeight="1"
                android:layout_marginBottom="16dp"
                android:layout_marginLeft="16dp"
                android:layout_marginRight="16dp"
                android:layout_rowWeight="1"
                app:cardCornerRadius="8dp"
                app:cardElevation="8dp"

                >

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal|center_vertical"
                    android:layout_margin="16dp"
                    android:orientation="vertical">

                    <ImageView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal"
                        android:src="@drawable/stock5" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="CHAPTER 5"
                        android:textAlignment="center"
                        android:textColor="@color/black"
                        android:textSize="12sp"
                        android:textStyle="bold|italic" />
                </LinearLayout>


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

            <!--CARD 2-->
            <android.support.v7.widget.CardView
                android:layout_width="0dp"
                android:layout_height="120dp"
                android:layout_columnWeight="1"
                android:layout_marginBottom="16dp"
                android:layout_marginLeft="16dp"
                android:layout_marginRight="16dp"
                android:layout_rowWeight="1"
                app:cardCornerRadius="8dp"
                app:cardElevation="8dp"

                >

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal|center_vertical"
                    android:layout_margin="16dp"
                    android:orientation="vertical">

                    <ImageView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal"
                        android:src="@drawable/stock6" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="CHAPTER 6"
                        android:textAlignment="center"
                        android:textColor="@color/black"
                        android:textSize="12sp"
                        android:textStyle="bold|italic" />
                </LinearLayout>


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


            <!--ROW 7 - -!>

             <!- -CARD 1-->
            <android.support.v7.widget.CardView
                android:layout_width="0dp"
                android:layout_height="120dp"
                android:layout_columnWeight="1"
                android:layout_marginBottom="16dp"
                android:layout_marginLeft="16dp"
                android:layout_marginRight="16dp"
                android:layout_rowWeight="1"
                app:cardCornerRadius="8dp"
                app:cardElevation="8dp"

                >

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal|center_vertical"
                    android:layout_margin="16dp"
                    android:orientation="vertical">

                    <ImageView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal"
                        android:src="@drawable/stock1" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="CHAPTER 7"
                        android:textAlignment="center"
                        android:textColor="@color/black"
                        android:textSize="12sp"
                        android:textStyle="bold|italic" />
                </LinearLayout>


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

            <!--CARD 2-->
            <android.support.v7.widget.CardView
                android:layout_width="0dp"
                android:layout_height="120dp"
                android:layout_columnWeight="1"
                android:layout_marginBottom="16dp"
                android:layout_marginLeft="16dp"
                android:layout_marginRight="16dp"
                android:layout_rowWeight="1"
                app:cardCornerRadius="8dp"
                app:cardElevation="8dp"

                >

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal|center_vertical"
                    android:layout_margin="16dp"
                    android:orientation="vertical">

                    <ImageView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal"
                        android:src="@drawable/stock2" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="CHAPTER 2"
                        android:textAlignment="center"
                        android:textColor="@color/black"
                        android:textSize="12sp"
                        android:textStyle="bold|italic" />
                </LinearLayout>


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


        </GridLayout>

    </LinearLayout>

</ScrollView>