重写代码:
public class LineGridView extends GridView {
public LineGridView(Context context) {
super(context);
}
public LineGridView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public LineGridView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
protected void dispatchDraw(Canvas canvas) {
super.dispatchDraw(canvas);
if (getChildAt(0) != null) {
View localView1 = getChildAt(0);
int column = getWidth() / localView1.getWidth();
int childCount = getChildCount();
int row = 0;
if (childCount % column == 0) {
row = childCount / column;
} else {
row = childCount / column + 1;
}
int endAllcolumn = (row - 1) * column;
Paint localPaint, localPaint2;
localPaint = new Paint();
localPaint2 = new Paint();
localPaint.setStyle(Paint.Style.STROKE);
localPaint2.setStyle(Paint.Style.STROKE);
localPaint.setStrokeWidth(2);
localPaint2.setStrokeWidth(2);
localPaint.setColor(Color.parseColor("#C12817"));
localPaint2.setColor(Color.parseColor("#F75845"));
for (int i = 0; i < childCount; i++) {
View cellView = getChildAt(i);
if ((i + 1) <= endAllcolumn) {
canvas.drawLine(cellView.getLeft(), cellView.getBottom(),
cellView.getRight(), cellView.getBottom(),
localPaint);
}
}
}
}
}
调用:
android:id="@+id/gridview"
android:background="#ffffff"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:columnWidth="120dp"
android:numColumns="auto_fit"
android:verticalSpacing="15dp"
android:stretchMode="columnWidth"
android:gravity="center"
android:padding="10dp"
/>
使用时跟GridView相同