Android自定義控件實(shí)現(xiàn)帶數(shù)值和動(dòng)畫的圓形進(jìn)度條-創(chuàng)新互聯(lián)

本文實(shí)例實(shí)現(xiàn)一個(gè)如下圖所示的Android自定義控件,可以直觀地展示某個(gè)球隊(duì)在某個(gè)賽季的積分?jǐn)?shù)和勝場(chǎng)、負(fù)場(chǎng)、平局?jǐn)?shù)

我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、岳普湖ssl等。為上1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的岳普湖網(wǎng)站制作公司

首先對(duì)畫布進(jìn)行區(qū)域劃分,整個(gè)控件分上下兩部分

上邊是個(gè)大的圓環(huán),圓環(huán)中間兩行文字,沒什么難度,選好圓心坐標(biāo)和半徑后直接繪制即可,繪制文字也是如此。

下部分是三個(gè)小的圓弧進(jìn)度條,弧的末端繪制一個(gè)小的實(shí)心圓

首先選好坐標(biāo)和半徑,然后先繪制三個(gè)圓環(huán)作為弧形進(jìn)度條的背景

之后從12點(diǎn)鐘開始繪制進(jìn)度弧,知道了圓環(huán)的圓心和半徑,也知道了弧對(duì)應(yīng)于12點(diǎn)鐘和圓環(huán)圓心的偏移角度

通過三角函數(shù)可以計(jì)算出進(jìn)度弧終點(diǎn)坐標(biāo),以進(jìn)度弧終點(diǎn)坐標(biāo)為圓心繪制一個(gè)小的實(shí)心圓即可

動(dòng)畫效果通過Handler的postDelayed方法觸發(fā)重繪即可實(shí)現(xiàn)

在項(xiàng)目中的效果如圖所示:

測(cè)試代碼如下:

final Random random=new Random();
final ScoreBoardView myView=(ScoreBoardView)findViewById(R.id.custom_view);
myView.setOnClickListener(new View.OnClickListener(){
 @Override
 public void onClick(View v){
  myView.setColor(Color.BLUE);
  myView.setScore(random.nextInt(28));
  myView.setWinDrawLose(random.nextInt(12),random.nextInt(15),random.nextInt(26));
 }
});

網(wǎng)頁題目:Android自定義控件實(shí)現(xiàn)帶數(shù)值和動(dòng)畫的圓形進(jìn)度條-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://bm7419.com/article42/didshc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃響應(yīng)式網(wǎng)站、服務(wù)器托管商城網(wǎng)站、自適應(yīng)網(wǎng)站營銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司