【问题标题】:Reduce spacing GridView减少间距GridView
【发布时间】:2014-01-23 16:06:11
【问题描述】:

我正在尝试创建一个 GridView,其中的值尽可能接近。 现在内容遍布整个屏幕。

如何减小 GridView 单元格之间的间距? 使用 setVerticalSpacing() 方法不起作用。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".LevelSpelen" >

<GridView
    android:id="@+id/gridView1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignLeft="@+id/textView1">

</GridView>

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignTop="@+id/gridView1"
    android:layout_marginLeft="18dp"
    android:text="" />

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_marginLeft="78dp"
    android:layout_toRightOf="@+id/textView1"
    android:text="Button" />

    </RelativeLayout>

有什么建议吗?

【问题讨论】:

    标签: android gridview spacing


    【解决方案1】:

    间距有两种定义:单元格之间的间距和单元格内的间距

    在您的GridView 定义中添加

    android:verticalSpacing="8dp"
    android:horizontalSpacing="8dp"
    

    或更小并添加android:numColumns="auto_fit" 以确保您可以在每行中放置尽可能多的项目。

    GridView Item 布局中,确保将单元格设置为任意大小

    【讨论】:

    • 我已经添加了这两个属性,但这并没有改变任何东西。我在我的代码中指定了 numColumns。但是我可以在哪里更改项目的间距?
    • 你在设置适配器时使用android.R.layout.simple_list_item_1吗?
    • 不,这是代码 ArrayAdapter adapter = new ArrayAdapter(this,R.layout.activity_level_spelen,R.id.textView1,inhoud);
    • 我不确定 ArrayAdapter 如何在间距方面布置 textview,但如果您在代码中设置列数,那么它可能会自动分隔单元格,请尝试更改 'android: GridView 定义中的 layout_width="fill_parent"' 为wrap_content 或特定值