gridview中的最后一次cardview未显示在scrollview布局中

时间:2018-02-13 12:10:33

标签: android gridview android-cardview android-scrollview

image here . 我在滚动视图下的 gridview 中看不到最后一个 cardview 。最后一张卡片视图没有完全显示。

我在GridView中指定了 4 行和 2 列。在GridView中,我有8张Cardview。每行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行以减少代码

2 个答案:

答案 0 :(得分:1)

您需要在cardview xml文件中添加:

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

答案 1 :(得分:0)

我建议您使用 NestedScrollView 而不是ScrollView。

如下代码:

return BULLET