如何删除GridView内LinearLayout中的空白?

Posted

技术标签:

【中文标题】如何删除GridView内LinearLayout中的空白?【英文标题】:How to remove blank space in LinearLayout inside GridView? 【发布时间】:2020-08-01 03:41:21 【问题描述】:

我有一个由两列组成的 GridView。 GridView 包含 LinearLayout 作为每个项目。但是,项目之间有一个空格。 我的 GridView xml 代码如下:

<?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"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_
    android:layout_
    android:background="@drawable/background"
    tools:context=".DisplayAndCompare"
    android:padding="10dp"
    android:orientation="vertical"
    android:layout_centerVertical="true"
    >

    <ImageView
        android:id="@+id/imageView"
        android:layout_
        android:layout_
        android:layout_marginTop="25dp"
        android:layout_centerHorizontal="true"
        android:src="@drawable/logo" />

    <TextView
        android:id="@+id/pgk_search"
        android:layout_
        android:layout_
        android:layout_marginTop="14dp"
        android:text="PACKAGES"
        android:textColor="#3b4350"
        android:textSize="20sp"
        android:textStyle="bold"
        android:typeface="normal"
        android:layout_centerHorizontal="true"
        android:layout_below="@id/imageView"/>

    <GridView
        android:id="@+id/pckg_details"
        android:layout_
        android:layout_
        android:layout_marginTop="10dp"
        android:numColumns="2"
        android:layout_centerHorizontal="true"
        android:layout_below="@id/pgk_search"
        />

    <Button
        android:id="@+id/btn_season"
        android:layout_
        android:layout_
        android:layout_marginTop="10dp"
        android:padding="15dp"
        android:text="compare"
        android:textSize="18sp"
        android:layout_centerHorizontal="true"
        android:layout_below="@id/pckg_details"
        />
</RelativeLayout>

LinearLayout 我的 xml 代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_
    android:layout_
    android:background="@drawable/background"
    android:orientation="vertical">

    <ImageView
        android:id="@+id/imageView2"
        android:layout_
        android:layout_
        app:srcCompat="@drawable/flag" />
    <TextView
        android:id="@+id/textView"
        android:layout_
        android:layout_
        android:layout_gravity="center"
        android:text="TextView"
        android:textSize="18sp"
        android:textStyle="bold"
        android:gravity="center" />
</LinearLayout>

下面是应用截图。 我想删除 GridView 中每个项目(LinearLayout)下方的空白区域。如何做到这一点?

【问题讨论】:

你能用比较按钮也分享xml吗? 我已经在第一部分添加了 GridView 的完整 xml。第二部分是GridView里面item的xml,每个item都用一个LinearLayout来表示。 你可以试试android:layout_height="wrap_content"而不是android:layout_height="400dp" 【参考方案1】:

请尝试将GridView的高度从400dp更改为wrap_content,使其不能超出所需高度

<GridView
    android:id="@+id/pckg_details"
    android:layout_
    android:layout_
    android:layout_below="@id/pgk_search"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="10dp"
    android:numColumns="2" />

【讨论】:

以上是关于如何删除GridView内LinearLayout中的空白?的主要内容,如果未能解决你的问题,请参考以下文章

android 对gridview 外层linearlayout 设置点击事件,怎么还点到gridview(gridview没点击事件)?

Android中如何让控件居中

如何从 LinearLayout 中删除所有 LinearLayout?

在Linearlayout中新增ScrollView支持滚动

如何在 LinearLayout 中删除 ImageView

错误的重力应用于 LinearLayout 项目