真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Android動態(tài)繪制餅狀圖的示例代碼-創(chuàng)新互聯(lián)

項目里面的需求,當時搜索到MPAndroidChart庫,可以實現(xiàn),但是只是一個需求就引用偌大的一個庫,感覺不太爽,打算自己自定義一個。

成都創(chuàng)新互聯(lián)公司長期為1000多家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為正寧企業(yè)提供專業(yè)的網(wǎng)站制作、成都網(wǎng)站建設(shè),正寧網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

一、慣例先上效果圖

二、GitHub


代碼地址,歡迎指正https://github.com/MNXP/XPPieChart


三、思路


  1、空心圖(一個大圓中心繪制一個小圓)
  2、根據(jù)數(shù)據(jù)算出所占的角度
  3、根據(jù)動畫獲取當前繪制的角度
  4、根據(jù)當前角度獲取Paint使用的顏色
  5、動態(tài)繪制即將繪制的 和 繪制已經(jīng)繪制的部分(最重要)

四、實現(xiàn)


1、空心圖(一個大圓中心繪制一個小圓)初始化數(shù)據(jù)


   paint = new Paint();
   paint.setAntiAlias(true);
   paint.setStyle(Paint.Style.FILL_AND_STROKE);

   screenW = DensityUtils.getScreenWidth(context);

   int width = DensityUtils.dip2px(context, 15);//圓環(huán)寬度
   int widthXY = DensityUtils.dip2px(context, 10);//微調(diào)距離

   int pieCenterX = screenW / 2;//餅狀圖中心X
   int pieCenterY = screenW / 3;//餅狀圖中心Y
   int pieRadius = screenW / 4;// 大圓半徑

   //整個餅狀圖rect
   pieOval = new RectF();
   pieOval.left = pieCenterX - pieRadius;
   pieOval.top = pieCenterY - pieRadius + widthXY;
   pieOval.right = pieCenterX + pieRadius;
   pieOval.bottom = pieCenterY + pieRadius + widthXY;

   //里面的空白rect
   pieOvalIn = new RectF();
   pieOvalIn.left = pieOval.left + width;
   pieOvalIn.top = pieOval.top + width;
   pieOvalIn.right = pieOval.right - width;
   pieOvalIn.bottom = pieOval.bottom - width;

   //里面的空白畫筆
   piePaintIn = new Paint();
   piePaintIn.setAntiAlias(true);
   piePaintIn.setStyle(Paint.Style.FILL);
   piePaintIn.setColor(Color.parseColor("#f4f4f4"));


新聞標題:Android動態(tài)繪制餅狀圖的示例代碼-創(chuàng)新互聯(lián)
本文來源:http://weahome.cn/article/ceodgo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部