GridLayout项目之间的空间

5

我有一个在运行时的GridLayout(不是GridView)。

这是我的xml:

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/grid"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:rowCount="4"
    android:columnCount="3"
    android:verticalSpacing="10dp"
    android:horizontalSpacing="10dp"
    >

 </GridLayout>

我需要在运行时添加项目。这些项目是一个包含图像和文本的类,一切都工作得很好。 我需要在这些项目之间有一个空格(就像GridView一样)。
我该怎么做?

请尝试在它们之间加入边距。 - MDMalik
您可以为每个项目使用“shape”样式,并在其中添加填充。 - Vamsi Challa
如果您需要添加实际间距,则形状不会有所帮助。从视觉上看可能是相同的,但在结构上并非如此,对吧?当使用权重时,边距也无法帮助(至少在appcompat v24版本中不行)。 - milosmns
1个回答

0

先试试这个

selector_gridview_item_image_blue.xml

<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/gridview_item_image_border_blue_phone" android:state_pressed="true"/>
    <item android:drawable="@drawable/image_border" android:state_focused="true"/>
    <item android:drawable="@drawable/image_border"/>

</selector>

gridview_item_image_border_blue_phone.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <solid android:color="@color/blue" />

    <stroke
        android:width="4dp"
        android:color="@color/blue" />

    <padding
        android:bottom="4dp"
        android:left="4dp"
        android:right="4dp"
        android:top="4dp" />

</shape>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接