本文实例为大家分享了androID绘制几何图形展示的具体代码,供大家参考,具体内容如下
效果图:
代码(仅绘制类,不可直接运行):
public class MyVIEw extends VIEw { public MyVIEw(Context context,AttributeSet set) { super(context,set); } @OverrIDe // 重写该方法,进行绘图 protected voID onDraw(Canvas canvas) { super.onDraw(canvas); // 把整张画布绘制成白色 canvas.drawcolor(color.WHITE); Paint paint = new Paint();//创建一个画笔对象 // 去锯齿 paint.setAntiAlias(true); paint.setcolor(color.BLUE);//设置画笔颜色为蓝色 paint.setStyle(Paint.Style.stroke);//设置样式 paint.setstrokeWIDth(3);//设置样式的宽度 // 绘制圆形 canvas.drawCircle(40,40,30,paint); // 绘制正方形 canvas.drawRect(10,80,70,140,paint); // 绘制矩形 canvas.drawRect(10,150,190,paint); RectF re1 = new RectF(10,200,230); // 绘制圆角矩形 canvas.drawRoundRect(re1,15,paint); RectF re11 = new RectF(10,240,270); // 绘制椭圆 canvas.drawoval(re11,paint); // 定义一个Path对象,封闭成一个三角形。 Path path1 = new Path(); path1.moveto(10,340);//将路径点设置到10,340位置 path1.lineto(70,340);//将起始路径点连接都70,340位置 path1.lineto(40,290);//将第二连接点连接到40,290位置 path1.close();//关闭路径的绘制 // 根据Path进行绘制,绘制三角形 canvas.drawPath(path1,paint); // 定义一个Path对象,封闭成一个五角形。 Path path2 = new Path(); path2.moveto(26,360); path2.lineto(54,360); path2.lineto(70,392); path2.lineto(40,420); path2.lineto(10,392); path2.close(); // 根据Path进行绘制,绘制五角形 canvas.drawPath(path2,paint); // ----------设置填充风格后绘制---------- paint.setStyle(Paint.Style.FILL); paint.setcolor(color.RED); canvas.drawCircle(120,paint); //绘制正方形 canvas.drawRect(90,paint); //绘制矩形 canvas.drawRect(90,paint); RectF re2 = new RectF(90,230); //绘制圆角矩形 canvas.drawRoundRect(re2,paint); RectF re21 = new RectF(90,270); // 绘制椭圆 canvas.drawoval(re21,paint); Path path3 = new Path(); path3.moveto(90,340); path3.lineto(150,340); path3.lineto(120,290); path3.close(); //绘制三角形 canvas.drawPath(path3,paint); Path path4 = new Path(); path4.moveto(106,360); path4.lineto(134,360); path4.lineto(150,392); path4.lineto(120,420); path4.lineto(90,392); path4.close(); //绘制五角形 canvas.drawPath(path4,paint); // ----------设置渐变器后绘制---------- // 为Paint设置渐变器 Shader mShader = new linearGradIEnt(0,60,new int[] { color.RED,color.GREEN,color.BLUE,color.YELLOW },null,Shader.TileMode.REPEAT); paint.setShader(mShader); //设置阴影 paint.setShadowLayer(45,10,color.GRAY); // 绘制圆形 canvas.drawCircle(200,paint); // 绘制正方形 canvas.drawRect(170,230,paint); // 绘制矩形 canvas.drawRect(170,paint); RectF re3 = new RectF(170,230); // 绘制圆角矩形 canvas.drawRoundRect(re3,paint); RectF re31 = new RectF(170,270); // 绘制椭圆 canvas.drawoval(re31,paint); Path path5 = new Path(); path5.moveto(170,340); path5.lineto(230,340); path5.lineto(200,290); path5.close(); // 根据Path进行绘制,绘制三角形 canvas.drawPath(path5,paint); Path path6 = new Path(); path6.moveto(186,360); path6.lineto(214,360); path6.lineto(230,392); path6.lineto(200,420); path6.lineto(170,392); path6.close(); // 根据Path进行绘制,绘制五角形 canvas.drawPath(path6,paint); // ----------设置字符大小后绘制---------- paint.setTextSize(24); paint.setShader(null); // 绘制7个字符串 canvas.drawText(getResources().getString(R.string.circle),50,paint); canvas.drawText(getResources().getString(R.string.square),120,paint); canvas.drawText(getResources().getString(R.string.rect),175,paint); canvas.drawText(getResources().getString(R.string.round_rect),220,paint); canvas.drawText(getResources().getString(R.string.oval),260,paint); canvas.drawText(getResources().getString(R.string.triangle),325,paint); canvas.drawText(getResources().getString(R.string.pentagon),390,paint); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。
总结以上是内存溢出为你收集整理的android绘制几何图形的实例代码全部内容,希望文章能够帮你解决android绘制几何图形的实例代码所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)