Android Canvas не рисовал Path, когда Path point out out view

У меня возникла проблема с Canvas для Android при рисовании пути. Мое дело в том, что у меня есть относительная работа с макетом, например, с видом карты (не используя google api или что-то в этом роде). Мне нужно нарисовать путь к этому виду.

    canvas.drawPath(polyPath, borderPaint);

Мне также нужно нарисовать другой тип, подобный кругу, и многоугольник, использующий холст. Каждый раз, когда мы увеличиваем или уменьшаем масштаб изображения, мы повторно вычисляем точку пути в соответствии с уровнем масштабирования. При использовании старого api, такого как android 2.3.3, проблем нет. Но для более новых api, таких как android 4.x, когда мы увеличиваем масштаб, есть точка, у которой есть позиция из видимого вида (например, -300, -300). Через некоторое время увеличьте видимую область только на небольшой части моего пути. И вдруг весь путь исчезнет. Если мы уменьшим масштаб, он появится снова. Это похоже на сохранение холста, которое они оказывают (другой объект по-прежнему отображается как значок) То же самое касается круга, овала или многоугольника.

Так что я не уверен, есть ли какие-либо изменения в том, как рисовать холст? Есть ли что-нибудь, что мне не хватает в рисовании с использованием холста?

Ответ 1

Добавьте эту строку в инициализацию представления

setLayerType(View.LAYER_TYPE_SOFTWARE, null);

также см. это руководство по API-интерфейсу, поддерживающему аппаратный уровень

google API

Img A

Img B