Android自定義view實(shí)現(xiàn)太極效果實(shí)例代碼
Android自定義view實(shí)現(xiàn)太極效果實(shí)例代碼
之前一直想要個(gè)加載的loading。卻不知道用什么好,然后就想到了太極圖標(biāo),最后效果是有了,不過(guò)感覺(jué)用來(lái)做loading簡(jiǎn)直丑到爆!??!
實(shí)現(xiàn)效果很簡(jiǎn)單,我們不要用什么貝塞爾曲線啥的,因?yàn)樘珮O無(wú)非就是圓圓圓,只要畫(huà)圓就ok了。來(lái)上代碼:
因?yàn)橛泻谟邪?,所以定義2個(gè)畫(huà)筆分別為黑和白。
private void inital() {
whitePaint = new Paint();
whitePaint.setAntiAlias(true);
whitePaint.setColor(Color.WHITE);
blackPaint = new Paint();
blackPaint.setAntiAlias(true);
blackPaint.setColor(Color.BLACK);
}
最后來(lái)畫(huà)3個(gè)圓就可以解決了:
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Point centerPoint = new Point(width / 2, height / 2);
canvas.translate(centerPoint.x, centerPoint.y);
canvas.rotate(angle);
//繪制兩個(gè)半圓
int radius = Math.min(bitmapwidth, bitmapheight) / 2;
RectF rect = new RectF(-radius, -radius, radius, radius); //繪制區(qū)域
canvas.drawArc(rect, 90, 180, true, blackPaint); //繪制黑色半圓
canvas.drawArc(rect, -90, 180, true, whitePaint); //繪制白色半圓
//繪制兩個(gè)小圓
int smallRadius = radius / 2;
canvas.drawCircle(0, -smallRadius, smallRadius, blackPaint);
canvas.drawCircle(0, smallRadius, smallRadius, whitePaint);
//繪制魚(yú)眼
canvas.drawCircle(0, -smallRadius, smallRadius / 4, whitePaint);
canvas.drawCircle(0, smallRadius, smallRadius / 4, blackPaint);
if (load) {
angle += 10;
if (angle >= 360) {
angle = 0;
}
}
invalidate();
}
是不是很簡(jiǎn)單,也就幾行代碼就解決了,一開(kāi)始我還打算用貝塞爾曲線的(瘋了!?。?。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- Android中Progress的簡(jiǎn)單實(shí)例
- Android 屬性動(dòng)畫(huà)ValueAnimator與插值器詳解
- Android中Edittext設(shè)置輸入條件
- 詳解Android中的NestedScrolling機(jī)制帶你玩轉(zhuǎn)嵌套滑動(dòng)
- Android通過(guò)自定義控件實(shí)現(xiàn)360軟件詳情頁(yè)效果
- Android SDK Manager更新、下載速度慢問(wèn)題解決辦法
- Android 使用<layer-list>實(shí)現(xiàn)微信聊天輸入框功能
- android中強(qiáng)制更新app實(shí)例代碼
相關(guān)文章
Android實(shí)現(xiàn)拍照及圖片裁剪(6.0以上權(quán)限處理及7.0以上文件管理)
本篇文章主要介紹了Android實(shí)現(xiàn)拍照及圖片裁剪(6.0以上權(quán)限處理及7.0以上文件管理),非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-10-10
Android開(kāi)發(fā)筆記之:深入理解Cursor相關(guān)的性能問(wèn)題
本篇文章是對(duì)Android中Cursor相關(guān)的性能問(wèn)題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
Android應(yīng)用程序轉(zhuǎn)到后臺(tái)并回到前臺(tái)判斷方法
這篇文章主要介紹了Android應(yīng)用程序轉(zhuǎn)到后臺(tái)并回到前臺(tái)判斷方法的相關(guān)資料,需要的朋友可以參考下2016-11-11
Android開(kāi)發(fā)之自定義星星評(píng)分控件RatingBar用法示例
這篇文章主要介紹了Android開(kāi)發(fā)之自定義星星評(píng)分控件RatingBar用法,結(jié)合具體實(shí)例形式分析了Android自定義評(píng)分控件的具體實(shí)現(xiàn)步驟以及功能、布局相關(guān)操作技巧,需要的朋友可以參考下2019-03-03
Android?通用視頻組件開(kāi)發(fā)過(guò)程詳解
這篇文章主要介紹了Android?通用視頻組件開(kāi)發(fā)的詳細(xì)過(guò)程,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-07-07
android二級(jí)listview列表實(shí)現(xiàn)代碼
今天來(lái)實(shí)現(xiàn)以下大眾點(diǎn)評(píng)客戶端的橫向listview二級(jí)列表,感興趣的朋友可以研究下2013-01-01
Android編程開(kāi)發(fā)之EditText中inputType屬性小結(jié)
這篇文章主要介紹了Android編程開(kāi)發(fā)之EditText中inputType屬性用法,分析說(shuō)明了Android中EditText的inputType屬性具體含義與使用技巧,需要的朋友可以參考下2016-01-01

