Android 는 사용자 정의 View 를 사용 하여 떡 모양 그림 을 구현 하 는 인 스 턴 스 코드 를 사용 합 니 다.
2852 단어 android떡 모양 그림 보기떡 모양 도
1.효과 도
2.코드 구현
public class PieChartView extends View {
private Paint mPaint;
private List<PieData>pieDataList;
//
private float mStartAngle = 0;
public PieChartView(Context context) {
this(context, null);
}
public PieChartView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
init();
}
public void setData(List<PieData> dataList){
if (null == dataList || dataList.size() == 0)
return;
pieDataList = dataList;
invalidate(); // onDraw
}
private void init() {
mPaint = new Paint();
mPaint.setAntiAlias(true);
mPaint.setStyle(Paint.Style.FILL);
mPaint.setStrokeWidth(4);
rectF = new RectF(100f, 100f, 600f, 600f); //
}
private RectF rectF;
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (null == pieDataList || pieDataList.size() == 0)
return;
float currentAngle = mStartAngle;
for (int i = 0;i<pieDataList.size();i++){
PieData pieData = pieDataList.get(i);
mPaint.setColor(pieData.color);
canvas.drawArc(rectF,currentAngle,pieData.angle,true,mPaint); //
currentAngle += pieData.angle;
}
}
}
3.사용:
int values[] = {30, 30, 40}; // ,{10, 20, 70}
List<PieData> pieDataList = new ArrayList<>();
PieData pieData1 = new PieData();
pieData1.percentage = (float) values[0] / 100;
pieData1.angle = pieData1.percentage * 360;
pieData1.color = Color.RED;
pieDataList.add(pieData1);
PieData pieData2 = new PieData();
pieData2.percentage = (float) values[1] / 100;
pieData2.angle = pieData2.percentage * 360;
pieData2.color = Color.GREEN;
pieDataList.add(pieData2);
PieData pieData3 = new PieData();
pieData3.percentage = (float) values[2] / 100;
pieData3.angle = pieData3.percentage * 360;
pieData3.color = Color.YELLOW;
pieDataList.add(pieData3);
PieChartView pieChartView = new PieChartView(mContext);
pieChartView.setData(pieDataList);
addView(pieChartView);
위 에서 말 한 것 은 소 편 이 소개 한 안 드 로 이 드 가 사용자 정의 View 를 사용 하여 떡 모양 그림 을 실현 하 는 인 스 턴 스 코드 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.