Android Grid Layout Cardview项目仅在屏幕顶部可见

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Grid Layout Cardview项目仅在屏幕顶部可见相关的知识,希望对你有一定的参考价值。

我的应用程序有问题,当我开始滚动页面时,仅从屏幕顶部可见名片视图项。

这是屏幕截图enter image description here

这是某些项目的完整仪表板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="400dp"
            android:layout_height="200dp"
              android:background="@drawable/green"
              tools:context=".Dashboard">
    <LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

       <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="20dp"
        android:layout_marginRight="32dp"
        android:layout_marginLeft="32dp"
        android:paddingLeft="20dp">
        <TextView
            android:textSize="24sp"
            android:textColor="#FFFFFF"
            android:textStyle="bold"
            android:text="Dashboard"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

        <TextView
            android:layout_marginTop="30dp"
            android:id="@+id/txtdashboard"
            android:textColor="#52BAFF"
            android:text="Items"
            android:textStyle="bold"
            android:textSize="24sp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
        <ImageView
            android:layout_width="62dp"
            android:layout_height="62dp"
            android:layout_alignParentRight="true"
            android:src="@drawable/menu" />
    </RelativeLayout>
<GridLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:alignmentMode="alignMargins"
        android:columnCount="2"
        android:columnOrderPreserved="false"
        android:numColumns="2"
        android:rowCount="5">

                   USER XML
        <androidx.cardview.widget.CardView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_row="1"
            app:cardElevation="6dp"
            app:cardCornerRadius="12dp"
            android:layout_margin="12dp"
            >

            <LinearLayout
                android:orientation="vertical"
                android:padding="16dp"
                android:layout_gravity="center"
                android:layout_width="match_parent"
                android:layout_height="match_parent">

                <ImageView
                    android:src="@drawable/users"
                    android:layout_gravity="center"
                    android:layout_width="80dp"
                    android:layout_height="80dp"
                    />

                <TextView
                    android:textColor="#6f6f6f"
                    android:layout_marginTop="12dp"
                    android:textSize="24sp"
                    android:textStyle="bold"
                    android:text="User"
                    android:layout_gravity="center"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />
            </LinearLayout>

        </androidx.cardview.widget.CardView>

                      LOGOUT XML CODE

        <androidx.cardview.widget.CardView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_row="1"
            app:cardElevation="6dp"
            app:cardCornerRadius="12dp"
            android:layout_margin="12dp"
            >

            <LinearLayout
                android:orientation="vertical"
                android:padding="16dp"
                android:layout_gravity="center"
                android:layout_width="match_parent"
                android:layout_height="match_parent">

                <ImageView
                    android:src="@drawable/logoutt"
                    android:layout_gravity="center"
                    android:layout_width="80dp"
                    android:layout_height="80dp"
                    />

                <TextView
                    android:textColor="#6f6f6f"
                    android:layout_marginTop="12dp"
                    android:textSize="24sp"
                    android:textStyle="bold"
                    android:text="LogOut"
                    android:layout_gravity="center"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />
            </LinearLayout>

        </androidx.cardview.widget.CardView>

              CALENDER XML CODES
<androidx.cardview.widget.CardView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_row="1"
            app:cardElevation="6dp"
            app:cardCornerRadius="12dp"
            android:layout_margin="12dp"
            >

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

                <ImageView
                    android:src="@drawable/calender"
                    android:layout_gravity="center"
                    android:layout_width="80dp"
                    android:layout_height="80dp"
                    />

                <TextView
                    android:textColor="#6f6f6f"
                    android:layout_marginTop="12dp"
                    android:textSize="24sp"
                    android:textStyle="bold"
                    android:text="Calendar"
                    android:layout_gravity="center"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />
            </LinearLayout>

        </androidx.cardview.widget.CardView>

             COWS XML CODE

        <androidx.cardview.widget.CardView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_row="1"
            app:cardElevation="6dp"
            app:cardCornerRadius="12dp"
            android:layout_margin="12dp"
            >

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

                <ImageView
                    android:src="@drawable/logo"
                    android:layout_gravity="center"
                    android:layout_width="80dp"
                    android:layout_height="80dp"
                    />

                <TextView
                    android:textColor="#6f6f6f"
                    android:layout_marginTop="12dp"
                    android:textSize="24sp"
                    android:textStyle="bold"
                    android:text="Cows"
                    android:layout_gravity="center"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />
            </LinearLayout>


        </androidx.cardview.widget.CardView>

                  MILK
        <androidx.cardview.widget.CardView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_row="1"
            app:cardElevation="6dp"
            app:cardCornerRadius="12dp"
            android:layout_margin="12dp"
            >

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

                <ImageView
                    android:src="@drawable/milk"
                    android:layout_gravity="center"
                    android:layout_width="80dp"
                    android:layout_height="80dp"
                    />

                <TextView
                    android:textColor="#6f6f6f"
                    android:layout_marginTop="12dp"
                    android:textSize="24sp"
                    android:textStyle="bold"
                    android:text="Milk"
                    android:layout_gravity="center"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />
            </LinearLayout>

        </androidx.cardview.widget.CardView>

                        FEEDS

        <androidx.cardview.widget.CardView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_row="1"
            app:cardElevation="6dp"
            app:cardCornerRadius="12dp"
            android:layout_margin="12dp"
            >

            <LinearLayout
                android:orientation="vertical"
                android:padding="16dp"
                android:layout_gravity="center"
                android:layout_width="match_parent"
                android:layout_height="match_parent">

                <ImageView
                    android:src="@drawable/feed"
                    android:layout_gravity="center"
                    android:layout_width="80dp"
                    android:layout_height="80dp"
                    />

                <TextView
                    android:textColor="#6f6f6f"
                    android:layout_marginTop="12dp"
                    android:textSize="24sp"
                    android:textStyle="bold"
                    android:text="Feeds"
                    android:layout_gravity="center"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />
            </LinearLayout>

        </androidx.cardview.widget.CardView>

                    M-REPORTS
        <androidx.cardview.widget.CardView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_row="1"
            app:cardElevation="6dp"
            app:cardCornerRadius="12dp"
            android:layout_margin="12dp"
            >

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_gravity="center"
                android:orientation="vertical"
                android:padding="16dp">

                <ImageView
                    android:layout_width="80dp"
                    android:layout_height="80dp"
                    android:src="@drawable/report" />

                <TextView

                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="12dp"
                    android:text="M-Reports"
                    android:textColor="#6f6f6f"
                    android:textSize="24sp"
                    android:textStyle="bold" />
            </LinearLayout>

        </androidx.cardview.widget.CardView>


                         REPORTS

        <androidx.cardview.widget.CardView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_row="1"
            app:cardElevation="6dp"
            app:cardCornerRadius="12dp"
            android:layout_margin="12dp"
            >

            <LinearLayout
                android:orientation="vertical"
                android:padding="16dp"
                android:layout_gravity="center"
                android:layout_width="match_parent"
                android:layout_height="match_parent">

                <ImageView
                    android:layout_gravity="center"
                    android:src="@drawable/report"
                    android:layout_width="80dp"
                    android:layout_height="80dp"
                    />

                <TextView
                    android:layout_gravity="center"
                    android:textColor="#6f6f6f"
                    android:layout_marginTop="12dp"
                    android:textSize="24sp"
                    android:textStyle="bold"
                    android:text="F-Reports"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />
            </LinearLayout>

        </androidx.cardview.widget.CardView>

                      RETURNS CARD

        <androidx.cardview.widget.CardView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_row="1"
            app:cardElevation="6dp"
            app:cardCornerRadius="12dp"
            android:layout_margin="12dp"
            >

            <LinearLayout
                android:orientation="vertical"
                android:padding="16dp"
                android:layout_gravity="center"
                android:layout_width="match_parent"
                android:layout_height="match_parent">

                <ImageView
                    android:layout_gravity="center"
                    android:src="@drawable/profit"
                    android:layout_width="80dp"
                    android:layout_height="80dp"
                    />

                <TextView

                    android:textColor="#6f6f6f"
                    android:layout_gravity="center"
                    android:layout_marginTop="12dp"
                    android:textSize="24sp"
                    android:textStyle="bold"
                    android:text="Returns"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />
            </LinearLayout>

        </androidx.cardview.widget.CardView>

                ABOUT CARD VIEW

        <androidx.cardview.widget.CardView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:layout_row="1"
            app:cardElevation="6dp"
            app:cardCornerRadius="12dp"
            android:layout_margin="12dp"
            >

            <LinearLayout
                android:orientation="vertical"
                android:padding="16dp"
                android:layout_gravity="center"
                android:layout_width="match_parent"
                android:layout_height="match_parent">

                <ImageView
                    android:src="@drawable/about"
                    android:layout_gravity="center"
                    android:layout_width="80dp"
                    android:layout_height="80dp"

                    />

                <TextView

                    android:textColor="#6f6f6f"
                    android:layout_gravity="center"
                    android:layout_marginTop="12dp"
                    android:textSize="24sp"
                    android:textStyle="bold"
                    android:text="About"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />

            </LinearLayout>

        </androidx.cardview.widget.CardView>


    </GridLayout>

</LinearLayout>

当我向上滚动时,它应该能够从屏幕底部向上查看网格项目,但我不知道出了什么问题。请帮助

答案

这里是更新的布局。

工作正常。

<?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"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <GridLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:alignmentMode="alignMargins"
        android:columnCount="2"
        android:columnOrderPreserved="false"
        android:numColumns="2"
        android:rowCount="3">

        <androidx.cardview.widget.CardView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_row="1"
            android:layout_columnWeight="1"
            android:layout_margin="12dp"
            app:cardCornerRadius="12dp"
            app:cardElevation="6dp">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_gravity="center"
                android:orientation="vertical"
                android:padding="16dp">

                <ImageView
                    android:layout_width="80dp"
                    android:layout_height="80dp"
                    android:layout_gravity="center"
                    android:src="@drawable/logo" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_marginTop="12dp"
                    android:text="User"
                    android:textColor="#6f6f6f"
                    android:textSize="24sp"
                    android:textStyle="bold" />
            </LinearLayout>

        </androidx.cardview.widget.CardView>

        <androidx.cardview.widget.CardView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_row="1"
            android:layout_columnWeight="1"
            android:layout_margin="12dp"
            app:cardCornerRadius="12dp"
            app:cardElevation="6dp">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_gravity="center"
                android:orientation="vertical"
                android:padding="16dp">

                <ImageView
                    android:layout_width="80dp"
                    android:layout_height="80dp"
                    android:layout_gravity="center"
                    app:srcCompat="@drawable/ic_logout" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_marginTop="12dp"
                    android:text="LogOut"
                    android:textColor="#6f6f6f"
                    android:textSize="24sp"
                    android:textStyle="bold" />
            </LinearLayout>

        </androidx.cardview.widget.CardView>

        <androidx.cardview.widget.CardView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_row="1"
            android:layout_columnWeight="1"
            android:layout_margin="12dp"
            app:cardCornerRadius="12dp"
            app:cardElevation="6dp">

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

                <ImageView
                    android:layout_width="80dp"
                    android:layout_height="80dp"
                    android:layout_gravity="center"
                    app:srcCompat="@drawable/ic_camera" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_marginTop="12dp"
                    android:text="Calendar"
                    android:textColor="#6f6f6f"
                    android:textSize="24sp"
                    android:textStyle="bold" />
            </LinearLayout>

        </androidx.cardview.widget.CardView>

        <androidx.cardview.widget.CardView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_row="1"
            android:layout_columnWeight="1"
            android:layout_margin="12dp"
            app:cardCornerRadius="12dp"
            app:cardElevation="6dp">

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

                <ImageView
                    android:layout_width="80dp"
                    android:layout_height="80dp"
                    android:layout_gravity="center"
                    android:src="@drawable/logo" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_marginTop="12dp"
                    android:text="Cows"
                    android:textColor="#6f6f6f"
                    android:textSize="24sp"
                    android:textStyle="bold" />
            </LinearLayout>


        </androidx.cardview.widget.CardView>

        <androidx.cardview.widget.CardView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_row="1"
            android:layout_columnWeight="1"
            android:layout_margin="12dp"
            app:cardCornerRadius="12dp"
            app:cardElevation="6dp">

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

                <ImageView
                    android:layout_width="80dp"
                    android:layout_height="80dp"
                    android:layout_gravity="center"
                    android:src="@drawable/logo" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_marginTop="12dp"
                    android:text="Milk"
                    android:textColor="#6f6f6f"
                    android:textSize="24sp"
                    android:textStyle="bold" />
            </LinearLayout>

        </androidx.cardview.widget.CardView>

        <androidx.cardview.widget.CardView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_row="1"
            android:layout_columnWeight="1"
            android:layout_margin="12dp"
            app:cardCornerRadius="12dp"
            app:cardElevation="6dp">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_gravity="center"
                android:orientation="vertical"
                android:padding="16dp">

                <ImageView
                    android:layout_width

以上是关于Android Grid Layout Cardview项目仅在屏幕顶部可见的主要内容,如果未能解决你的问题,请参考以下文章

使用 Grid Layout Manager 等间距的 Android Recycler 视图不起作用

[Grid Layout] Describe a grid layout using named grid lines

grid layout

Grid Layout

关于display:grid layout

Grid Layout