Фрагмент или Просмотр сверху фрагмента карты в Android - PullRequest
0 голосов
/ 14 мая 2018

Я работаю над приложением, в котором я хочу отобразить наложение поверх карты Google после нажатия на маркер.Мне было интересно, будет ли представление или фрагмент будет правильным подходом к этому.Я пытался сделать это с фрагментом ранее, и он работал, но я не мог видеть карту Google на заднем плане, однако сейчас я делаю это с видом, и это работает правильно, однако я все еще могу перемещаться по карте вфон с открытым видом, может есть какой-нибудь способ приостановить взаимодействие фрагмента?Другой вопрос, который я имею, должен ли я использовать фрагмент или представление?Есть ли какой-то правильный способ сделать это так, чтобы я все еще мог отображать карты в фоновом режиме?Вот изображение того, что у меня есть после нажатия на маркер.

MapsOverlay

1 Ответ

0 голосов
/ 15 мая 2018

Fragment и View являются правильными подходами - это зависит только от количества логики, связанной с оверлеем.

  • Когда использовать View: когда наложение - это просто некое «всплывающее окно», которое мало что делает (например, просто отображает текст)
  • Когда использовать Fragment: когда в оверлее больше логики и, возможно, жизненного цикла, например, у вас есть какой-то EditText, а также кнопка, вызов API и индикатор прогресса - вы получаете дрейф.Имеет смысл разделить эту логику на модуль, чтобы сохранить сущности простыми и содержательными.

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

Что касается того, почему вы все еще можете перемещаться по карте, несмотря на то, что представление отображается над ней - попробуйте добавить два атрибута к этому представлению в своем XML:

<View
   android:id="@+id/yourView"
   android:clickable="true"
   android:focusable="true" />

Это заставит вид перехватывать все прикосновения и не передавать его дальше вниз по дереву вида.

...