Компоненты Android для отображения графика (узлы и ребра, в 2D)?

Я нахожусь на начальном этапе разработки приложения для Android, похожего на "карту разума" программа (например, Thinking Space). Он показывает некоторые узлы графа (содержащие текст, возможно, изображения) и соединяющие их ребра. Я могу позаботиться об алгоритмах графов, но у меня есть два неуверенных момента относительно компонентов Android для отображения этих вещей:

  1. Расширенный граф будет довольно большим, поэтому пользователь должен иметь возможность прокручивать как по вертикали, так и по горизонтали. Я посмотрел на ScrollView и HorizontalScrollView, но они не могут прокручивать как по вертикали, так и по горизонтали. Так что я надеюсь узнать, какой контейнер верхнего уровня мне следует использовать.

  2. Я также хочу, чтобы график можно было масштабировать с помощью щипковых жестов, чтобы пользователь мог увеличивать масштаб до небольшой части графика. Но я также хочу, чтобы узлы графа были интерактивными, чтобы пользователь мог нажимать на них, вводить в них текст и перемещать их пальцами. Должен ли я реализовать каждый узел как отдельный объект представления? Если так, как сделать так, чтобы все узлы увеличивались вместе?

Спасибо.

7
задан Ian 20 May 2011 в 11:19
поделиться