最简单的方法
1.在GridView里设置一些属性
android:background="#000000" 背景色黑色
android:horizontalSpacing="1sp" 水平间距1sp
android:verticalSpacing="1sp" 垂直间距1sp
android:padding="1sp" 与里面的内容间隔1sp
2.在GridView的Adapter的布局里设置一些属性
android:background="#ffffff“
这样就实现表格的布局样式了
import hy.mingancai.tongqutang.R; import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint; import android.util.AttributeSet; import android.view.View; import android.widget.GridView; public class LineGridView extends GridView { public LineGridView(Context context) { super(context); // TODO Auto-generated constructor stub } public LineGridView(Context context, AttributeSet attrs) { super(context, attrs); } public LineGridView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override protected void dispatchDraw(Canvas canvas) { super.dispatchDraw(canvas); // 第一个视图 View localView1 = getChildAt(0); // 列数 int column = getWidth() / localView1.getWidth(); // 孩子数 int childCount = getChildCount(); Paint localPaint; localPaint = new Paint(); localPaint.setStyle(Paint.Style.STROKE); localPaint.setColor(getContext().getResources().getColor(R.color.main)); for (int i = 0; i < childCount; i++) { View cellView = getChildAt(i); if ((i + 1) % column == 0) { canvas.drawLine(cellView.getLeft(), cellView.getBottom(), cellView.getRight(), cellView.getBottom(), localPaint); } else if ((i + 1) > (childCount - (childCount % column))) { canvas.drawLine(cellView.getRight(), cellView.getTop(), cellView.getRight(), cellView.getBottom(), localPaint); } else { canvas.drawLine(cellView.getRight(), cellView.getTop(), cellView.getRight(), cellView.getBottom(), localPaint); canvas.drawLine(cellView.getLeft(), cellView.getBottom(), cellView.getRight(), cellView.getBottom(), localPaint); } } if (childCount % column != 0) { for (int j = 0; j < (column - childCount % column); j++) { View lastView = getChildAt(childCount - 1); canvas.drawLine(lastView.getRight() + lastView.getWidth() * j, lastView.getTop(), lastView.getRight() + lastView.getWidth() * j, lastView.getBottom(), localPaint); } } } }
这样也可以,不过这个实现的效果是表格的最外层没线条
- Android(安卓)关机、重启、recovery流程分析
- Android中检测手机制式和移动网络类型
- Android中滑屏初探 ---- scrollTo 以及 scrollBy方法使用说明
- Activity 属性设置参数说明
- android 查看解压后的.xml文件代码(axmlprinter2)
- Android(安卓)Pull解析
- AMD windows7安装和打开genymotion、android studio遇到的问题
- android textview设置字体的行距和字间距
- android 自定义Dialog(背景图等)
随机推荐
-
Android四大组件生命周期,组件类的继承与
-
Android的ImageView如何maxHeight与maxWi
-
Android(安卓)如何监听返回键,弹出一个退
-
android自动化测试--monkey runner
-
python logging 模块(一)
-
MaterialDesign初探-Theme
-
Android(安卓)Studio 下载与安装教程(最简
-
Android开发之ListView详解 以及简单的li
-
Android中的消息通知-Toast和Notificatio
-
Android应用开发学习笔记之播放视频