<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:innerRadiusRatio="3"
    android:shape="ring"
    android:thicknessRatio="8"
    android:useLevel="false">
    <gradient
        android:centerColor="#ff0000"
        android:endColor="#0ff676"
        android:startColor="#B23AEE"
        android:useLevel="false" />
</shape>

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="oval"android:useLevel="false"><strokeandroid:width="@dimen/normal_100dp"android:color="#ffffff" /><sizeandroid:width="@dimen/normal_640dp"android:height="@dimen/normal_640dp" />
</shape>

1、添加依赖包

compile 'org.xclcharts:lib:2.4'

自定义view

/**
 * @author meixi<br               />(1085220040@qq.com)
 * @ClassName CircleChart02View
 * @Description 图形图例子、半圆
 */
public class CircleChart02View extends GraphicalView {private String TAG = "CircleChart02View";
    private CircleChart chart = new CircleChart();

    //设置图表数据源
    private LinkedList<PieData> mlPieData = new LinkedList<PieData>();
    private String mDataInfo = "";

    public CircleChart02View(Context context) {super(context);
        // TODO Auto-generated constructor stub
        setPercentage(0);
        chartRender();
    }public CircleChart02View(Context context, AttributeSet attrs) {super(context, attrs);
        setPercentage(0);
        chartRender();
    }public CircleChart02View(Context context, AttributeSet attrs, int defStyle) {super(context, attrs, defStyle);
        setPercentage(0);
        chartRender();
    }@Override
    protected void onSizeChanged(int w, int h, int oldw, int oldh) {super.onSizeChanged(w, h, oldw, oldh);
        //图所占范围大小
        chart.setChartRange(w, h);
    }public void chartRender() {try {//设置信息
            chart.setAttributeInfo(mDataInfo);
            chart.getDataInfoPaint().setTextSize(30f);
            //数据源
            chart.setDataSource(mlPieData);

            chart.getLabelPaint().setColor(Color.rgb(72, 201, 176));//百分比颜色

            chart.setIRadius(0.8f);//轨迹内圆半径
//            chart.hideInnerFill();//是否满圆

            //半圆方式显示,不用则是圆方式显示
            chart.setCircleType(XEnum.CircleType.HALF);

            chart.getFillCirclePaint().setColor(Color.BLUE);//内圆色

            //背景色
            chart.getBgCirclePaint().setColor(Color.YELLOW);
            //深色
//            chart.getFillCirclePaint().setColor(Color.YELLOW);
            chart.setInitialAngle(90);
            //信息颜色
            chart.getDataInfoPaint().setColor(Color.RED);
            //显示边框
            chart.showRoundBorder();

        } catch (Exception e) {// TODO Auto-generated catch block
            Log.e(TAG, e.toString());
        }}//百分比
    public void setPercentage(int per) {//PieData(标签,百分比,在饼图中对应的颜色)
        mlPieData.clear();
        int color = Color.rgb(72, 201, 176);
        if (per < 40) {mDataInfo = "容易容易";
        } else if (per < 60) {mDataInfo = "严肃认真";
            color = Color.rgb(246, 202, 13);
        } else {mDataInfo = "压力山大";
            color = Color.rgb(243, 75, 125);
        }mlPieData.add(new PieData(Integer.toString(per) + "%", per, color));

    }@Override
    public void render(Canvas canvas) {try {chart.render(canvas);
        } catch (Exception e) {Log.e(TAG, e.toString());
        }}}

<clan.yuanxin.com.mydaifa.pictures.CircleChart02View
    android:id="@+id/circle_view"
    android:layout_width="200dip"
    android:layout_height="200dip"
    android:layout_gravity="center_vertical|left"
    />

java代码

 //圆
CircleChart02View chart = null;
chart = (CircleChart02View)findViewById(R.id.circle_view);

显示数据

chart.setPercentage(progress);//20
chart.chartRender();
chart.invalidate();

Android 自定义环形圆形显示统计数据z相关推荐

  1. android 自定义控件 焦点,Android 自定义Button按钮显示样式(正常、按下、获取焦点)...

    现在的用户对APP的外观看得很重要,如果APP内所有元件都用Android默认样式写,估计下面评论里就有一堆在骂UI丑的.今天学习自定义Button按钮样式.Button样式修改的是Button的背景 ...

  2. Android 自定义View 圆形圆角图片

    [Android 自定义View 圆形圆角图片] 基于Xfermode 实现 1.概述 在很久以前也写过一个利用Xfermode 实现圆形.圆角图片的(Android 完美实现图片圆角和圆形(对实现进 ...

  3. android自定义dialog不显示,Android 自定义的dialog显示不正常呢,怎么回事???

    Android 自定义的dialog显示不正常呢,怎么回事??? 用android的自定义布局文件: android:layout_width="match_parent" and ...

  4. Android自定义Textview 蒙语显示(蒙古文字)

    Android自定义Textview 蒙语显示(蒙古文字) 竖排Textview 自动换行 从左到右 蒙语字体包 demo下载地址 https://download.csdn.net/download ...

  5. Android用surface直接显示yuv数据(三)

    本文用Java创建UI并联合JNI层操作surface来直接显示yuv数据(yv12),开发环境为Android 4.4,全志A23平台. package com.example.myyuvviewe ...

  6. Android自定义圆角圆形图片

    转载请注明出处:http://blog.csdn.net/binbinqq86/article/details/79463977 说起Android里面的自定义圆角圆形图片,已经算是老生常谈的话题了, ...

  7. android自定义dialog不显示,有关问题解决之Android自定义Dialog无法dismiss

    问题解决之Android自定义Dialog无法dismiss 场景: 点击ListView的一个Item,弹出自定义Dialog.在初始化Dialog时,将一个OnClickListener作为参数传 ...

  8. android自定义透明圆形,Android progressdialog自定义背景透明的圆形进度条类似于Dialog...

    很高兴能为大家分享一个背景是透明的圆形进度,先开效果图 效果图如下: 效果图 实现方法如下: 首先准备自己要定义成哪样子的效果的图片. 圆形进度条 1.创建Dialog的代码,你可以自己封装成一个方法 ...

  9. Android 自定义Button按钮显示样式(正常、按下、获取焦点)

    2019独角兽企业重金招聘Python工程师标准>>> 现在的用户对APP的外观看得很重要,如果APP内所有元件都用Android默认样式写,估计下面评论里就有一堆在骂UI丑的.今天 ...

最新文章

  1. 机器学习和洗衣机的关系?
  2. 对话迈克尔·乔丹:太多人关注个体智能,而不关注体系
  3. 关于OKR,你最关心的几个问题,答案在这里
  4. iOS tableview的常用delegate和dataSource执行顺序
  5. Vue和其他框架的区别
  6. 关于jsp中jstl-core标签循环遍历的使用
  7. maven error: element dependency can not have character children
  8. node在regedit配置哪个位置_Spring Boot 2.x基础教程:Spring Data JPA的多数据源配置
  9. 如何为团队选择有用的增量进度衡量标准
  10. centos7 卸载软件
  11. Java Web(八) MVC和三层架构
  12. 【批处理学习笔记】第九课:批处理符号(2)
  13. bat脚本打开cmd执行命令
  14. Java学习:Java程序员必读的经典书籍没有之一,你读过几本?
  15. jquery获取style
  16. 如何设计一个小而美的秒杀系统(抢红包)?
  17. 杭州公司java开发工程师常见面试问题
  18. 大型网站的演化之路——读《大型网站技术架构》
  19. DAX: 用SWITCH函数替换嵌套IF函数
  20. 授信合同与贷款合同的区别

热门文章

  1. [css] 用css实现倒影的效果
  2. [css] 说说你对相对定位、绝对定位、固定定位的理解
  3. 前端学习(2612):getter计算
  4. 前端学习(2550):事件指令解析
  5. 前端学习(2229):react条件渲染实现登录
  6. 前端学习(2110):组件化得开发和实现步骤
  7. plsql轻量版基本语法
  8. spring学习(15):required属性
  9. 第十三期:你不想错过的那些JSON工具
  10. Qt6.2.1使用clang格式化代码