GridView中的最后一个cardView未在scolllview布局中显示



映像在此处。我看不到最后一个 cardView gridview 滚动视图。最后一个cardview dosen尚未完全显示。

i有 4 行和 2 gridview.so中指定的列,我有8个cardViews。
每行2张卡片。

最后一行无法完全可见,可以做什么

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

<LinearLayout
android:weightSum="15"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">

<GridLayout
   android:elevation="16dp"
    android:paddingBottom="10dp"
    android:rowCount="4"
    android:columnCount="2"
    android:columnOrderPreserved="true"
    android:layout_weight="15"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginBottom="16dp"
    android:padding="5dp"
    >
    <!-- ROW 1-->
    <!-- Col 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:cardBackgroundColor="@color/cardview_light_background"
        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" />
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="1"
                android:textAlignment="center"
                android:textColor="@android:color/black"
                android:textSize="18sp"
                android:textStyle="bold" />
        </LinearLayout>
    </android.support.v7.widget.CardView>
    <!-- Col 2-->
    <android.support.v7.widget.CardView
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_columnWeight="1"
        android:layout_marginBottom="16dp"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="16dp"
        android:layout_rowWeight="1"
        app:cardBackgroundColor="@color/cardview_light_background"
        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" />
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="2"
                android:textAlignment="center"
                android:textColor="@android:color/black"
                android:textSize="18sp"
                android:textStyle="bold" />
        </LinearLayout>
    </android.support.v7.widget.CardView>

我删除了最后2行以减少代码

您需要在cardView xml文件中添加它:

app:cardUseCompatPadding="true"
card_view:cardElevation="4dp"

我建议您使用 nestedscrollview 而不是scrollview。

类似于下面的代码:

<android.support.v4.widget.NestedScrollView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:scrollbars="none">
    <GridView 
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"/>

最新更新