2015-04-02 3 views
-1

У меня есть ListView и внутри некоторых строк из этого представления я нарисовал точки в другом положении. Теперь мне нужно соединить эти точки (каждая в другой строке) с линией. Это похоже на функциональность линейной диаграммы, но внутри ListView.Линейная диаграмма в Listview

Любая идея, как я могу это сделать?

Отредактировано:

Я думал о том, чтобы общая высоту ListView и имею компоновку кадра с тем же размером в верхней части ListView, а затем нарисуйте точки на этой компоновке дает координату точки зрения, связанному с каждый колонка. Но я не знаю, возможно ли это, потому что мне также нужно нарисовать точки, которые еще не на экране (когда пользователь прокручивает список)

+0

'Я нарисовал точки 'Я полагаю, вы использовали' canvas.drawPoint() '. Имея массив точек, вы можете использовать 'canvas.drawPoints()'. Или просто используйте 'canvas.drawLine()' для подключения каждой точки к следующей. –

+0

Я думаю, что это не так просто. Точками являются ImageView, созданные адаптером списка, поэтому точки находятся внутри строк, и я должен нарисовать линию между точками в разных строках. – belen

+0

Сделайте это в адаптере, точно после рисования точек. –

ответ

0

Я думаю, вы не можете сделать это таким образом. Вы не можете рисовать линию за пределами видимости. Это означает, что вам нужно иметь один вид, который будет содержать строки 2 и строку 6. Это невозможно в виде списка. Если вы действительно хотите иметь просмотр списка, вам нужно вычислить точки во всех строках между 2 и 6 и нарисовать отдельные строки в каждой из этих строк.

+0

Я думал о том, чтобы получить общую высоту списка и иметь макет фрейма с тем же размером поверх списка, а затем нарисовать точки на этом макете, дающие координаты представления, относящиеся к каждому столбцу. Но я не знаю, возможно ли это, потому что мне также нужно нарисовать точки, которые еще не на экране (когда пользователь просматривает список) – belen

Смежные вопросы