上一節(jié)初步了解了Android端的貝塞爾曲線,這一節(jié)就舉個(gè)栗子練習(xí)一下,仿QQ未讀消息氣泡,是最經(jīng)典的練習(xí)貝塞爾曲線的東東,效果如下
附上github源碼地址:https://github.com/MonkeyMushroom/DragBubbleView
歡迎star~
大體思路就是畫兩個(gè)圓,一個(gè)黏連小球固定在一個(gè)點(diǎn)上,一個(gè)氣泡小球跟隨手指的滑動(dòng)改變坐標(biāo)。隨著兩個(gè)圓間距越來越大,黏連小球半徑越來越小。當(dāng)間距小于一定值,松開手指氣泡小球會(huì)恢復(fù)原來位置;當(dāng)間距超過一定值之后,黏連小球消失,氣泡小球繼續(xù)跟隨手指移動(dòng),此時(shí)手指松開,氣泡小球消失~
1、首先老一套~新建attrs.xml文件,編寫自定義屬性,新建DragBubbleView繼承View,重寫構(gòu)造方法,獲取自定義屬性值,初始化Paint、Path等東東,重寫onMeasure計(jì)算寬高,這里不再啰嗦~
2、在onSizeChanged方法中確定黏連小球和氣泡小球的圓心坐標(biāo),這里我們?nèi)捀叩囊话耄?/p>
@Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { super.onSizeChanged(w, h, oldw, oldh); mBubbleCenterX = w / 2; mBubbleCenterY = h / 2; mCircleCenterX = mBubbleCenterX; mCircleCenterY = mBubbleCenterY; }
當(dāng)前名稱:Android貝塞爾曲線初步學(xué)習(xí)第二課仿QQ未讀消息氣泡拖拽黏連效果-創(chuàng)新互聯(lián)
本文URL:http://www.rwnh.cn/article46/doedeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、面包屑導(dǎo)航、靜態(tài)網(wǎng)站、微信公眾號(hào)、網(wǎng)站導(dǎo)航、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容