Android(安卓)Canvas练习(8)自已绘环形图(Dount Chart)
16lz
2021-01-26
继续常规图的绘制研究,在这绘制了个环形图(Dount Chart),很简单,大圆套小圆就出来了。呵呵,照例先上猛照:
怎么样,效果还可以吧,实现代码很少,附上:
package com.xcl.chart;/** * Canvas练习 * 自已画环形图(Dount Chart) * * author:xiongchuanliang * date:2014-4-12 */import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.RectF;import android.util.DisplayMetrics;import android.view.View;public class PanelDountChart2 extends View{private int ScrWidth,ScrHeight; //演示用的百分比例,实际使用中,即为外部传入的比例参数 private final float arrPer[] = new float[]{20f,30f,10f,40f}; //RGB颜色数组private final int arrColorRgb[][] = { {77, 83, 97}, {148, 159, 181}, {253, 180, 90}, {52, 194, 188}} ;public PanelDountChart2(Context context) {super(context);// TODO Auto-generated constructor stub//屏幕信息DisplayMetrics dm = getResources().getDisplayMetrics();ScrHeight = dm.heightPixels;ScrWidth = dm.widthPixels;}public void onDraw(Canvas canvas){//画布背景canvas.drawColor(Color.WHITE); float cirX = ScrWidth / 2; float cirY = ScrHeight / 3 ; float radius = ScrHeight / 5 ;//150; float arcLeft = cirX - radius; float arcTop = cirY - radius ; float arcRight = cirX + radius ; float arcBottom = cirY + radius ; RectF arcRF0 = new RectF(arcLeft ,arcTop,arcRight,arcBottom); //画笔初始化Paint PaintArc = new Paint(); PaintArc.setAntiAlias(true);Paint PaintLabel = new Paint(); PaintLabel.setTextSize(22); canvas.drawText("author:xiongchuanliang", 50, ScrHeight - 280, PaintLabel); PaintLabel.setColor(Color.WHITE);PaintLabel.setTextSize(16); //位置计算类 XChartCalc xcalc = new XChartCalc(); float Percentage = 0.0f; float CurrPer = 0.0f;int i= 0; for(i=0; i
就这很么点代码就搞定了。 所以说简单的图完全可以不用图表库的。
代码中用到的类,在我前面的例子中找即可。
Android Canvas练习(1)画一张报表来玩
Android Canvas练习(2)自已绘饼图
Android Canvas练习(3)自已绘柱形图
Android Canvas练习(4)自已绘折线图
Android Canvas练习(5)自已绘面积图(Area Chart)MAIL: xcl_168@aliyun.com
BLOG: http://blog.csdn.net/xcl168
更多相关文章
- 使用xml让你的Activity无标题方法
- Android实现开机自启动某个程序
- ROOT android 原理 基于(zergRush)
- 第一章:第一行android代码注解(4)
- Android隐藏输入法软键盘时无法影藏的问题
- Android(安卓)如何在strings.xml中放置html文本
- 7.Android(安卓)Preferences的使用
- Android两行代码搞定ViewPager的过渡动画
- Android(安卓)proguard.flags