canvas 的使用

這是一個(gè)畫板的意思 要配合paint (畫筆)一起使用

首先創(chuàng)建出來畫筆

paint.setStyle(Paint.Style.STROKE);? ?設(shè)置樣式代表的是空心的? 只有輪廓

paint.setStyle(Paint.Style.FILL); 設(shè)置樣式代表的實(shí)心的,里面是有顏色的

mpaint.setAntiAlias(true); 支持抗鋸齒

mpaint.setStrokeWidth(3);?? 設(shè)置的是線條的粗細(xì)

canvas 的具體使用

畫圓 :

canvas .drawCircle(width/2,width/2,width/2-5,mpaint); 第一個(gè)是X軸的坐標(biāo),第二個(gè)是Y軸的坐標(biāo),第三個(gè)是半徑 第四個(gè)是畫筆

畫扇形

在畫扇形之前首先先創(chuàng)建一個(gè)類 RectF 來確定要畫的區(qū)域

RectF rectF = new RectF(0,0,width,width);

canvas.drawArc(扇形的區(qū)域,開始角度,角度,是否顯示圓心,畫筆)

設(shè)置字到扇形

mpaint.setTextSize(24);設(shè)置畫筆的字體大小

先創(chuàng)建一個(gè)path?

Path path =new Path();

給path 添加屬性

path.addArc(位置,開始的角度,每組字占的角度);

寫字

canvas.drawTextOnPath(所要寫的字,path,50,50,畫筆);

在Canvas 中添加點(diǎn)擊事件

1.先實(shí)現(xiàn)點(diǎn)擊監(jiān)聽方法

2.在方法中實(shí)現(xiàn)就好了

點(diǎn)擊旋轉(zhuǎn)隨機(jī)數(shù)

Random random =new Random();

//? ? ? ? 獲取旋轉(zhuǎn)的隨機(jī)數(shù)

? ? ? ? int dul = random.nextInt(1000);

//? ? ? ? 第一個(gè)開始的角度 ,第二個(gè) 結(jié)束的角度,

? ? ? ? RotateAnimation rotateAnimation =new RotateAnimation(startjd,dul+360,width/2,width/2);

rotateAnimation.setDuration(1000);

rotateAnimation.setFillAfter(true);

startAnimation(rotateAnimation);

//? ? ? ? 動(dòng)畫結(jié)束后保存結(jié)束的位置,在下次的時(shí)候就不回到原來的位置

? ? ? ? startjd =dul%360;

//? ? ? ? Toast.makeText(mcontext,"點(diǎn)擊了一下",Toast.LENGTH_SHORT).show();

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容