индикатор прогресса - PullRequest
       9

индикатор прогресса

2 голосов
/ 22 апреля 2010

Есть ли способ сделать индикатор в форме круга? У меня есть кнопка воспроизведения в моих приложениях, и я хотел бы показать прогресс загрузки песни вокруг кнопки.

1 Ответ

0 голосов
/ 28 января 2011

Виджет ProgressBar имеет два режима, которые влияют на его внешний вид:

  • В режиме прогресса вы получаете прямую линию, в которой вы можете установить значение прогресса по мере продвижения
  • В неопределенном режиме вы получаете круговую анимацию, которая вращается до тех пор, пока вы ее не остановите

Недавно я построил индикатор прогресса обратного отсчета, в котором я хотел, чтобы окно «раскручивалось», как часы, движущиеся назад, когда время идет. Это очень похоже на то, что вы хотите сделать, только наоборот.

Что я сделал, так это создал свой собственный класс, который подклассы View. Затем в моем переопределении onDraw () я рисовал прямо на холсте. Это может показаться слишком большой проблемой, но это действительно просто и фактически как бы контролирует весь процесс рисования.

Как-то так, чтобы нарисовать всю коробку ...

@Override
public void onDraw(Canvas canvas) {
    Rect rect = canvas.getClipBounds();
    rect.inset(10f, 10f);
    Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
    paint.setStyle(Paint.Style.STROKE);
    paint.setStrokeJoin(Join.ROUND);
    paint.setColor(Color.BLUE);
    paint.setStrokeWidth(10f);
    canvas.drawRect(countdownRect, paint);
}

... существует множество методов рисования, которые можно использовать для рисования других фигур, линий, контуров, кругов и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...