如何删除gridview单元格中的额外空间 - Android

时间:2016-11-13 23:17:47

标签: android android-layout android-studio gridview

我在android studio中制作自定义网格视图,每个单元格都包含图像视图和文本视图,但它在顶部和图像之间以及图像和文本之间提供了额外的空间,请参阅Image。我想摆脱那个额外的空间,但我无法找到解决方案!

以下是项目(单元格)布局的代码:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:weightSum="5">

<ImageView
    android:id="@+id/picture"
    style="@style/Pic" />

<TextView
    android:id="@+id/label"
    style="@style/Text" />

这是我主要布局的XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorPrimary">

<TextView
    style="@style/Main_Text"
    android:text="@string/Main_Menu"/>

<GridView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/gridView"
    android:numColumns="3"
    android:horizontalSpacing="10dp"
    android:verticalSpacing="10dp"/>

3 个答案:

答案 0 :(得分:2)

删除权重并在imageview中添加

android:adjustViewBounds="true"
android:scaleType="fitXY"

如果你想使用权重,那么尝试为imageview和textview添加layoutweight

答案 1 :(得分:0)

尝试实施

android:adjustViewBounds="true"

答案 2 :(得分:0)

从您的代码中删除“android:verticalSpacing =”0dip“或者您可以试试这个,

<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mGridView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:cacheColorHint="@android:color/transparent"
android:columnWidth="40dip"
android:horizontalSpacing="0dip"
android:numColumns="auto_fit"
android:scrollbars="none"
android:verticalSpacing="0dip" />