中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在Android使用自定義View實現餅狀圖

發布時間:2021-05-24 18:02:21 來源:億速云 閱讀:179 作者:Leah 欄目:移動開發

本篇文章為大家展示了如何在Android使用自定義View實現餅狀圖,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

1.效果圖

如何在Android使用自定義View實現餅狀圖如何在Android使用自定義View實現餅狀圖

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

Android是什么

Android是一種基于Linux內核的自由及開放源代碼的操作系統,主要使用于移動設備,如智能手機和平板電腦,由美國Google公司和開放手機聯盟領導及開發。

上述內容就是如何在Android使用自定義View實現餅狀圖,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

尼勒克县| 普兰县| 平和县| 揭西县| 衡山县| 阳朔县| 鹿邑县| 砀山县| 贺兰县| 台江县| 正镶白旗| 西乡县| 平江县| 辽宁省| 筠连县| 古交市| 郑州市| 龙川县| 酒泉市| 凤山市| 柳林县| 将乐县| 仁布县| 温泉县| 日喀则市| 青浦区| 饶河县| 淮安市| 新沂市| 五寨县| 乡宁县| 库车县| 安岳县| 马山县| 永清县| 兴文县| 景德镇市| 吴江市| 治多县| 青川县| 磐石市|