Android 自定义环形圆形显示统计数据z
生活随笔
收集整理的這篇文章主要介紹了
Android 自定义环形圆形显示统计数据z
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?<?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>
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(); //設置圖表數(shù)據(jù)源 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); //數(shù)據(jù)源 chart.setDataSource(mlPieData); chart.getLabelPaint().setColor(Color.rgb(72, 201, 176));//百分比顏色 chart.setIRadius(0.8f);//軌跡內(nèi)圓半徑 // chart.hideInnerFill();//是否滿圓 //半圓方式顯示,不用則是圓方式顯示 chart.setCircleType(XEnum.CircleType.HALF); chart.getFillCirclePaint().setColor(Color.BLUE);//內(nèi)圓色 //背景色 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);顯示數(shù)據(jù)
chart.setPercentage(progress);//20 chart.chartRender(); chart.invalidate();總結(jié)
以上是生活随笔為你收集整理的Android 自定义环形圆形显示统计数据z的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VMware vSphere Clien
- 下一篇: 复变函数论里的欧拉公式