ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
开始时之前想吐槽一句。。iphone的闹钟,12小时制。我成功的把闹钟订到了下午5:00 导致错过一班飞机。心疼改签费。 候机ing,没有事做,来写一下学习自定义view必须掌握的基本函数。这里只挑一些常用的进行讲解。 首先 往Canvas上面draw需要一个Paint。 画笔常用的函数有哪些呢。由于木有调试环境,函数基本上默写,有错请评论提出,蟹蟹! ~~~ Paint p = new Paint(); //设置画笔的颜色 p.setColor(Color.parseColor("#2EA4F2")); //设置画笔的风格:全部填充FILL 只画轮廓STROKE p.setStyle(Paint.Style.STROKE); //设置画笔的宽度 p.setStrokeWidth(8); //设置是否抗锯齿 p.setAntiAlias(true); ~~~ ~~~ //设置文字大小 p.setTextSize(30); //测量字符串的长度 p.MeasureText("Hello World"); ~~~ 当我们有了画笔后,就可以绘制基本图形。 **线**: ~~~ //绘制一条从0,0到100,100的线 canvas.drawLine(0,0,100,100,p); ~~~ **三角形&多边形** 是用Path类实现的。Path类提供了点绘制线的功能,看例子 ~~~ path.MoveTo(0,0);//给定path的起点 path.LineTo(10,10);//往10,10绘制一条路径 path.LineTo(5,3);//继续从10,10往5,3绘制一条路径 path.close;//将绘制的线形成封闭空间 canvas.drawPath(path,p); ~~~ **矩形**: ~~~ //画一个矩形,左上角的坐标为0,0 右下角的坐标为100,50 canvas.drawRect(0,0,100,50,p); ~~~ **圆角矩形**: ~~~ //一个矩形 RectF rectF = new RectF(0,0,100,50); //画一个圆角矩形,大小为rectF,20,20分表表示左边圆角的半径和右边圆角的半径 canvas.drawRoundRect(RectF,20,20,p); ~~~ **圆形** ~~~ //画一个圆,圆心为50,50 半径为100 canvas.drawCircle(50,50,100,p); ~~~ **弧形** 注意这里第二个参数,是从三点钟方向为0°计算,所以想从12点中方向开始绘制,那么就是270°。第四个参数是决定是否经过圆心(自己改变一下这个参数就知道区别了)。 ~~~ //画一个弧,弧所在矩形为rectF 从270°开始,画90° 不经过圆心 canvas.drawArc(rectF,270,90,false,p); ~~~ 以上基本上是自定义view所用到的最基本的函数,欢迎补充。