Кто-нибудь знает, как создать всплывающее окно сообщения с двумя кнопками, появляющееся поверх оверлейного элемента для приложения карты с использованием Android 2.1?

В настоящее время я реализовал элемент наложения, который показывает значок для геоточки на картографическом приложении в Android. При нажатии на значок появляется AlertDialog из метода onTap ниже. У меня есть следующие вопросы:

  1. Кто-нибудь знает, как отобразить пузырек сообщения карты прямо над элементом наложения значка с двумя кнопками выноски, одна слева от заголовка, а другая справа от пузыря?
  2. Кто-нибудь знает, как сделать оверлейный элемент перетаскиваемым, чтобы я мог нажать и удерживать его и перетаскивать по карте. Я пытаюсь воспроизвести поведение перетаскиваемого значка, доступное на iPhone.

Если да, поделитесь примером кода. Спасибо

protected boolean onTap(int index) {  
    OverlayItem item = mOverlays.get(index);  
    AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);  
    dialog.setTitle(item.getTitle());  
    dialog.setMessage(item.getSnippet()); 
    dialog.show();  
    return true;
}

person Bryan C    schedule 20.03.2010    source источник


Ответы (1)


Что касается № 1, вы можете увидеть, как создавать всплывающие панели в этом образец проекта из одной из моих книг.

Что касается № 2, я не верю, что это возможно, строго говоря. Конечно, для этого ничего не встроено, по крайней мере, то, что я видел. Вы можете попытаться обнаружить событие касания, избавиться от существующего элемента наложения, нарисовать собственную копию значка там, где был элемент наложения, вручную анимировать его по мере перетаскивания пользователем, а затем поместить элемент наложения туда, куда пользователь его бросает. (избавьтесь от нарисованного вручную значка).

person CommonsWare    schedule 20.03.2010
comment
Спасибо за ваши ответы. Есть ли у вас пример кода для того, что вы описали в № 2? удаление элемента наложения, анимация по мере перетаскивания пользователем, а затем добавление элемента наложения, когда пользователь отпускает событие пальца (подправить)? - person Bryan C; 21.03.2010
comment
Прошу прощения, но нет. Я мало что делал с сенсорным экраном, кроме простых касаний экрана. - person CommonsWare; 21.03.2010