Нарисуйте анимацию круглого прямоугольного штрихаAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Нарисуйте анимацию круглого прямоугольного штриха

Сообщение Anonymous »


Сейчас углубляюсь в Canvas и рисую собственные виды. Я только что создал круглый прямоугольник с рамкой с помощью этого кода (мой метод onDraw):

paint.color = Color.RED краска.стиль = Краска.Стиль.ЗАПОЛНЕНИЕ val angularRadius = 150f вал инсультWidth = 12f val rect = RectF( rootView.left.toFloat() +strokeWidth, rootView.top.toFloat() +strokeWidth, rootView.right.toFloat() - ширина штриха, rootView.bottom.toFloat() - ширина штриха ) Canvas.drawRoundRect(rect, angularRadius, angularRadius, краска) краска.стиль = Краска.Стиль.ОБМОК краска.цвет = Цвет.ЗЕЛЕНЫЙ Paint.strokeWidth = ширина штриха Canvas.drawRoundRect(rect, angularRadius, angularRadius, краска) Я хочу добиться анимации (змеиного прогресса) для этой границы. В прошлый раз я делал нечто подобное — анимацию границы круга, где drawArc с динамически изменяемым углом в объекте Animation отлично справился со своей задачей. Однако на этот раз я не могу использовать drawArc, поскольку требуется другая форма. Я прикрепляю изображение, где указал, где я хочу, чтобы анимация начиналась. Я думал о создании объекта Path, но понятия не имею, как начать рисовать с правого нижнего угла (сразу после закругленной части). Кто-нибудь уже работал с чем-то подобным?

В прошлый раз (для круга, как упоминалось ранее) я сделал что-то вроде этого:

canvas.drawArc(rect, START_ANGLE_POINT, угол, false, краска) и класс Animation:

частный внутренний класс CountdownAnimation(private val roundCountdownView: RoundCountdownView): Animation() { переопределить fun applyTransformation(interpolatedTime: Float, t: Transformation?) { roundCountdownView.angle = 360f * interpolatedTime roundCountdownView.requestLayout() } } Я хотел бы добиться чего-то подобного, но не могу найти в Интернете ничего полезного. Уже нашел этот вопрос SO, но я думаю, что делать это с помощью растровых изображений излишне для этой конкретной проблемы. Я буду признателен за любые предложения. Заранее спасибо! :)
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»