Я работаю над приложением Android, которое требует двухмерного графического представления с большим набором объектов.Вот что мне в основном нужно отображать:
![enter image description here](https://i.stack.imgur.com/TUOnI.jpg)
В моем случае это могут быть сотни пространственно распределенных объектов.Этот вид будет вести себя как карта, поэтому пользователь может прокручивать по горизонтали и вертикали, увеличивать и уменьшать масштаб.Это также требует обработки события щелчка, поэтому пользователь может щелкнуть любой треугольник, и я затем должен отобразить некоторую расширенную информацию, связанную с этим конкретным треугольником.
Меня больше всего волнуют 3 вещи:
- Если я перерисую все объекты в моем обработчике
onDraw()
, это будет очень медленно.Также есть случаи, когда мне даже не нужно рисовать все эти объекты, так как некоторые из них невидимы в зависимости от уровня масштабирования и положения прокрутки.Это требует использования четырехугольных деревьев, которые я не хочу реализовывать вручную. - Все эти объекты определены как (x, y, вращение, тип), поэтому в случае, если клиент решит, что нам нужно «показать все»Кнопка, мне придется реализовать функциональность для расчета ограничивающих рамок.
- Мне нужно иметь возможность обрабатывать события щелчка и (возможно) перетаскивание для всех этих фигур.
ЕстьЕсть ли библиотека, которая может помочь мне с этими задачами?Просто не хочу тратить 3 дня на то, что, я считаю, уже реализовано.