Есть ли способ добавить маркер в ImageView

Я хочу воспроизвести эту замечательную библиотеку iOS (SMCalloutView) на Android?

В этом примере маркер (булавка на iOS) создается и добавляется к прокручиваемому и масштабируемому изображению. И когда маркер нажат, отображается infoWindow (выноска в iOS). Как мне добиться такого поведения? Есть ли аналогичная библиотека для этого? Должен ли я рисовать маркер и показывать информационное окно вручную? Есть ли хоть какой-то способ использовать Marker и infoWindow на ImageView.

Пример SMCalloutView


person osrl    schedule 12.03.2015    source источник


Ответы (2)


Лучший выбор, который я смог найти, это библиотека. В ней есть образец булавки, который вы могли бы использовать .

Добавьте булавку в виде растрового изображения, переопределите добавление интерфейса OnPinClickListener (см. примеры того, где вызывать метод onPinClick).

if (pinRect.contains((int)touchCoord.x, (int)touchCoord.y)) {
    onPinClickListener.onPinClicked(i);
}

У меня до сих пор нет ответа на информационное окно.

person osrl    schedule 15.03.2015
comment
Вы должны быть в состоянии реализовать информационное окно как еще одну наложенную графику, возможно, используя фон из 9 патчей. - person Dave Morrissey; 25.03.2015
comment
Эй, может ли Осри или Дейв предоставить пример реализации OnPinCickListener, показывающий, как переопределить? тоже ищу эту проблему - person Ebad Saghar; 12.10.2015
comment
Я смотрю на пример пинью в библиотеке, но хотел бы более подробный пример реализации onPinClick - person Ebad Saghar; 12.10.2015

извините, насколько я знаю, нет родной View с этой функцией "закрепления", но вы можете проверить эту библиотеку и, возможно, этот вопрос о стеке

для всплывающего окна вы можете использовать Android Popup по умолчанию или библиотеку QuickAction (одну из двух) из здесь

person snachmsm    schedule 12.03.2015
comment
Есть ли какая-нибудь аналогичная библиотека, которая позволяет вместо этого помещать выводы в виде представлений? Эта библиотека помещает статическое изображение, которое даже нельзя изменить. - person android developer; 21.02.2017