Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.studente.esercizio3;
- import android.content.Context;
- import android.graphics.Canvas;
- import android.graphics.Color;
- import android.graphics.Paint;
- import android.graphics.PointF;
- import android.graphics.RectF;
- import android.support.annotation.Nullable;
- import android.util.AttributeSet;
- import android.view.View;
- import java.util.List;
- public class PieChartView extends View {
- private PointF center = new PointF();
- private RectF enclosing = new RectF();
- private List<Integer> segmentColor;
- private List<Float> percent;
- private int radius= 100;
- private int backgroundColor = Color.WHITE;
- private int strokeColor;
- public PieChartView(Context context) {
- super(context);
- }
- public PieChartView(Context context, @Nullable AttributeSet attrs) {
- super(context, attrs);
- }
- public PieChartView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
- super(context, attrs, defStyleAttr);
- }
- @Override
- protected void onDraw(Canvas canvas){
- Paint paint = new Paint();
- paint.setColor(backgroundColor);
- canvas.drawRect(0,0,canvas.getHeight(),canvas.getWidth(),paint);
- paint.setFlags(Paint.ANTI_ALIAS_FLAG);
- center.x = canvas.getWidth()/2;
- center.y = canvas.getHeight()/2;
- enclosing.top = center.y - radius;
- enclosing.bottom = center.y + radius;
- enclosing.left = center.x - radius;
- enclosing.right = center.x + radius;
- float alpha=-90.0f;
- float p2a=360.0f/100.0f;
- float p;
- Integer c;
- for(int i = 0; i < percent.size();i++){
- p = percent.get(i); // % da rappresentare
- c = segmentColor.get(i); // colore da usare
- paint.setColor(c);
- paint.setStyle(Paint.Style.FILL)
- canvas.drawArc(enclosing,alpha,p*p2a,true,paint);
- alpha += p*p2a;
- }
- alpha=-90.0f;
- for(int i = 0; i < percent.size();i++)
- {
- p = percent.get(i);
- paint.setColor(strokeColor);
- paint.setStyle(paint.Style.STROKE);
- canvas.drawArc(enclosing,alpha,p*p2a,true,paint);
- alpha += p*p2a;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement