English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In einem Projekt muss ein kreisförmiger Fortschrittsbalken für die Schrittzähler implementiert werden, wenn das Ziel noch nicht erreicht ist, wird ein bestimmter Winkel (bereits abgeschlossene Schritte/Ziel-Schritte)*360°) Bogenteil. Wenn die abgeschlossenen Schritte dem Ziel entsprechen oder übersteigen, zeichnen Sie den gesamten360° Kreiskreis.
Effektbild:
Code-Implementierung:
Stellen Sie die abgeschlossenen und die angestrebten Schritte ein:
public void setStep(int stepDone, int stepGoal) { this.stepDone = stepDone; this.stepGoal = stepGoal; int progess = (stepDone * 100) / stepGoal; if (progess > 100) { setProgress(100); } else { setProgress(progess); } }
Stellen Sie den Fortschritt ein:
public void setProgress(int progress) { this.mProgress = progress; this.invalidate(); }
Stellen Sie die Eigenschaften des Stifts ein:
mPaint.setAntiAlias(true); mPaint.setColor(Color.rgb(0xe9, 0xe9, 0xe9)); canvas.drawColor(Color.TRANSPARENT); mPaint.setStrokeWidth(LINE_WIDTH_BG); mPaint.setStyle(Paint.Style.STROKE);
Zeichnen Sie den Ring und den Hintergrund:
canvas.drawArc(mRectF, -9, 360, false, mPaint); mPaint.setColor(Color.rgb(0xf8, 0x60, 0x30)); canvas.drawArc(mRectF, -90, ((float) mProgress / mMaxProgress) * 360, false, mPaint);
Zeichnen Sie die Schritte und Einheiten:
mPaint.setStrokeWidth(TEXT_WIDTH); String text = stepDone + context.getString(R.string.step_unit); int textHeight = Höhe / 4; mPaint.setTextSize(textHeight); int textWidth = (int) mPaint.measureText(text, 0, text.length()); mPaint.setStyle(Paint.Style.FILL); , canvas.drawText(text, width / 2 - textWidth / 2, Höhe / 2 + textHeight / 4, mPaint);
Zielzahl zeichnen:
String textGoal = "/" + stepGoal; int textGoalHeight = Höhe / 8; mPaint.setTextSize(textGoalHeight); int textGoalWidth = (int) mPaint.measureText(textGoal, 0, textGoal.length()); mPaint.setStyle(Paint.Style.FILL); , canvas.drawText(textGoal, width / 2 - textGoalWidth / 2, Höhe / 2 + textHeight / 2 + textGoalHeight, mPaint);
Das ist der gesamte Inhalt dieses Artikels. Wir hoffen, dass er Ihnen bei Ihrem Lernen hilft und dass Sie die Anstrengungen von呐喊教程大力支持.
Erklärung: Der Inhalt dieses Artikels wurde aus dem Internet übernommen und gehört dem jeweiligen Urheber. Der Inhalt wurde von Internetnutzern freiwillig beigesteuert und hochgeladen. Diese Website besitzt keine Eigentumsrechte und hat den Inhalt nicht von Hand bearbeitet. Sie übernimmt keine rechtlichen Haftung. Wenn Sie urheberrechtlich beanstandete Inhalte finden, sind Sie herzlich eingeladen, eine E-Mail an notice#w zu senden.3codebox.com (Bitte ersetzen Sie # durch @, wenn Sie eine E-Mail senden, und geben Sie relevante Beweise an. Wenn nach Überprüfung als urheberrechtlich beanstandet, wird der fragliche Inhalt sofort gelöscht.)