国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 荥阳市| 长乐市| 历史| 凤庆县| 策勒县| 和平区| 开平市| 井研县| 大渡口区| 云南省| 伊吾县| 托克托县| 金阳县| 海安县| 淮北市| 顺昌县| 平顶山市| 泸溪县| 巨野县| 西乡县| 黔江区| 江都市| 娱乐| 凤山县| 海门市| 碌曲县| 海口市| 庆城县| 海淀区| 焦作市| 富源县| 孟州市| 怀宁县| 绥中县| 连平县| 广丰县| 门头沟区| 新昌县| 西乡县| 武乡县| 绵阳市|