国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

【自定義控件】eat loading 自定義控件實(shí)現(xiàn)

2019-11-06 09:53:29
字體:
供稿:網(wǎng)友

效果:

這里寫圖片描述

實(shí)現(xiàn)步驟:

這里寫圖片描述

這里寫圖片描述

代碼對應(yīng):

canvas.translate(mEatRadius, height / 2);//將畫布移動到左側(cè)中間//1、根據(jù)PRogress計算圓心的位置float x = currentProgress * (width - 3 * mEatRadius / 2) / 100;//2、計算兩條線的夾角int lineState = currentProgress % mOnceProgress;//lineState有兩個類型的值,邊界值和一般值 上邊界(下邊界)和中間值if (lineState != 0) {//表示中間值 mCurrentMouthDegree = lineState * mMouthDegree * 2 / (mOnceProgress * 2);} else if (currentProgress % (mOnceProgress * 2) == 0) {//表示上邊界 mCurrentMouthDegree = mMouthDegree;} else {//下邊界 mCurrentMouthDegree = 0;}//3、根據(jù)圓心和夾角畫圓弧mArcPaint.setColor(mEatColor);RectF mArcRect = new RectF(x - mEatRadius, (float) -mEatRadius, x + mEatRadius, (float) mEatRadius);canvas.drawArc(mArcRect, mCurrentMouthDegree / 2, 360 - mCurrentMouthDegree, true, mArcPaint);//5、畫眼睛float eyeDegree = -(45 + mMouthDegree / 4);float eyeToCenter = 2 * mEatRadius / 3;mArcPaint.setColor(mEyeColor);canvas.drawCircle((float) (eyeToCenter * Math.cos(Math.toRadians(eyeDegree)) + x), (float) (eyeToCenter * Math.sin(Math.toRadians(eyeDegree))), mEyeRadius, mArcPaint);//6、畫文本String txt = currentProgress + "%";Rect txtRect = new Rect();mTxtPaint.setColor(mProgressTxtColor);mTxtPaint.setTextSize(mProgressTxtSize);mTxtPaint.getTextBounds(txt, 0, txt.length(), txtRect);canvas.drawText(txt, -txtRect.width() / 2 + x, -mEatRadius - 8, mTxtPaint);//7.1、右側(cè)線條canvas.drawLine(x + mEatRadius / 2, 0, width - 3 * mEatRadius / 2, 0, mRightLinePaint);//7.2、左側(cè)虛線線條Path path = new Path();path.moveTo(-mEatRadius, 0);path.lineTo(x - mEatRadius, 0);canvas.drawPath(path, mLeftLinePaint);

自定義屬性列表:

eatRadius 圓半徑
mouthDegree 夾角度數(shù)
onceProgress 一口多少個進(jìn)度
eatColor 圓弧的顏色
rightLineColor 右側(cè)線條的顏色
rightLineHeight 右側(cè)線條的高度
leftLineColor 左側(cè)線條的顏色
leftLineHeight 左側(cè)線條的高度
leftLineGap 左側(cè)線條虛線的間隔
progressTxtColor 進(jìn)度文本的顏色
progressTxtSize 進(jìn)度文本字體大小
finishTxtSize 結(jié)束文本字體大小
finishTxtColor 結(jié)束文本字體顏色
eyeColor 眼睛顏色
eatTime 吃的時間
finishTxt 結(jié)束時的文本
loadFinishTime 結(jié)束時顯示文本的時間

代碼: https://github.com/WhatWeCan/customer_views/tree/master/EatView


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 固原市| 洪泽县| 兴安县| 陵川县| 满城县| 无棣县| 宜宾县| 蒙山县| 扎赉特旗| 泰宁县| 平原县| 石柱| 长沙市| 团风县| 南和县| 青神县| 青阳县| 承德县| 偏关县| 宜都市| 长海县| 延寿县| 金坛市| 常山县| 奉新县| 宜兴市| 华容县| 英德市| 湖南省| 中西区| 招远市| 娄烦县| 仁寿县| 清河县| 雅江县| 峨边| 平武县| 松潘县| 邵东县| 松江区| 文化|