Android 制作类似支付圆圈和打钩界面ProgressWheel
首先要說(shuō)明的是,制作圓圈旋轉(zhuǎn)的效果并不是博主做的,是參照了github上的一個(gè)代碼,只是在上面添加了修改,對(duì)其優(yōu)化并增加了一個(gè)打鉤的動(dòng)畫(huà)。
先來(lái)看下效果,1+的手機(jī)獲取root權(quán)限真是難,沒(méi)法錄屏,只能使用這種截屏生成git的笨辦法,其實(shí)運(yùn)行起來(lái)還是很流暢的。
這是代碼github的地址:
git clone https://github.com/LxxCaroline/ProgressWheelView.git這是圓圈旋轉(zhuǎn)代碼的github地址:
git clone https://github.com/pnikosis/materialish-progress.git我對(duì)原作者代碼的修改是
?
1.原作者是在onDraw函數(shù)中直接調(diào)用invalidate,會(huì)導(dǎo)致界面平凡刷新,特別是當(dāng)你打開(kāi)這個(gè)開(kāi)發(fā)者選項(xiàng)中的設(shè)置,再回到應(yīng)用程序的界面,發(fā)現(xiàn)他在頻繁刷新。老板給我的建議是每次延遲刷新,使用handler.sendMessageDelay(Message, DelayMills),在handler的handleMessage方法中調(diào)用invalidate方法,在onDraw函數(shù)中發(fā)送消息給handler即可,只要在16ms內(nèi)刷新不掉幀不卡頓就好了。
2.打鉤的動(dòng)畫(huà)是我主要的修改,分為兩條直線去畫(huà)。下面是我的設(shè)計(jì)稿,中間小的方框的邊長(zhǎng)就是代碼中的tickSize,所以每次繪畫(huà)的時(shí)候會(huì)先去找圓心,然后以圓心為中心去繪制正方形,分別繪制勾的兩條線,先畫(huà)短的,畫(huà)完短的再開(kāi)始畫(huà)長(zhǎng)的。
代碼中都有注釋,大家自己看吧
轉(zhuǎn)載于:https://www.cnblogs.com/zhujiabin/p/7498122.html
總結(jié)
以上是生活随笔為你收集整理的Android 制作类似支付圆圈和打钩界面ProgressWheel的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 程序员的自我修养六可执行文件的装载与进程
- 下一篇: 【转】Android必备知识点- And