我正在尝试在GridView
中显示我的片段之间的边界。
我将GridView
的背景颜色设置为白色,将片段的背景颜色设置为黑色。
然后我插入了这些代码行:
int border = 2; // px
view.setColumnWidth((dm.widthPixels / 2)-(4*border));
view.setNumColumns(2);
view.setHorizontalSpacing(border);
view.setVerticalSpacing(border);
view
是我的GridView
。
结果是整个GridView
左侧和顶部和底部的片段之间的边框很好。
但是在两个片段之间没有边界。
这是我对GridView
:
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/overview"
android:stretchMode="columnWidth"
android:clipChildren="true" >
</GridView>
可能有人可以提供帮助。
迎接
答案 0 :(得分:5)
嗯,我在之前的评论中试图解释的是:为什么不尝试让网格项目处理这个问题,而不是让GridView
调整你想要的间距?一个简单的解决方案是将适当的drawable设置为您正在使用/传入GridView
的适配器的布局文件的背景 - 换句话说:您用于网格项的布局,在你的案子将是你提到的片段。
一个简单的例子:
选择GridView
:
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/white"
android:numColumns="4" />
用于其内部项目的布局:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/grid_background"
android:gravity="center"
android:text="Text"
android:textColor="@android:color/white" />
最后,背景中的魔力可以绘制:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="5dp" android:color="@android:color/white" />
<padding android:bottom="5dp" android:left="5dp" android:right="5dp"
android:top="5dp" />
<solid android:color="@android:color/black" />
</shape>
结果将是:
顺便说一下,我不确定为什么水平和垂直间距参数对你不起作用。当我使用它们时,我能够获得与上图中非常相似的效果:
GridView
:
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/white"
android:horizontalSpacing="10dp"
android:numColumns="4"
android:verticalSpacing="10dp" />
项目布局(简单地将早期的背景资源换成固定颜色):
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/black"
android:gravity="center"
android:text="Text"
android:textColor="@android:color/white" />
结果:
希望这会对你有所帮助。