Android 自定义环形圆形显示统计数据z

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();




  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值