Как реализовать плавную анимацию смещения формы в Android?
Я рендеринг многоугольников на предварительном просмотре камеры, используя canvas.draw(path, paint)
в OnDraw()
метод моего пользовательского просмотра.
Путьрендерится примерно так:
for (int i = 0; i < pointList.size(); i++) {
Point currentPoint = adjustedPointList.get(i);
if (i == 0) {
//for the first point, we only have to move to that point
firstPoint = currentPoint;
mPath.moveTo(currentPoint.getX(), currentPoint.getY());
//Animation here
} else {
//otherwise we draw a line between last position and current point
mPath.lineTo(currentPoint.getX(), currentPoint.getY());
//Animation here
}
}
//we have to draw a last line between last and first point
if (firstPoint != null) {
mPath.lineTo(firstPoint.getX(), firstPoint.getY());
//Animation here
}
Я пробовал класс ObjectAnimator
, например здесь , но безрезультатно.Поскольку это постоянно вызывается внутри потока, форма меняется от кадра к кадру.Здесь я хочу получить плавную анимацию, например здесь , которая есть в iOS.Как я могу сделать то же самое для моего выше иллюстрированного рендеринга?
Я также пробовал решения для следующих вопросов:
DashPathEffect
анимация пути
присоединение аниматора к пути
значение аниматора
Но ничто не помогло моей цели сглаживаниясмещение формы или даже анимация рисования пути.в настоящее время сдвиг формы очень мерцательный.
Кроме того, во многих ссылках анимации со смещением формы для Android используются растровые изображения или SVG, что опять-таки мне не полезно.
Как я могу реализовать это в Android?или есть другой подход к этому?Если это так, я хотел бы знать все об этом.Спасибо!