Fragment и View являются правильными подходами - это зависит только от количества логики, связанной с оверлеем.
- Когда использовать
View
: когда наложение - это просто некое «всплывающее окно», которое мало что делает (например, просто отображает текст) - Когда использовать
Fragment
: когда в оверлее больше логики и, возможно, жизненного цикла, например, у вас есть какой-то EditText, а также кнопка, вызов API и индикатор прогресса - вы получаете дрейф.Имеет смысл разделить эту логику на модуль, чтобы сохранить сущности простыми и содержательными.
Кстати, для этого типа всплывающего окна вы также можете использовать диалог, это будет легче реализовать, чемФрагмент. Вот простой пример.
Что касается того, почему вы все еще можете перемещаться по карте, несмотря на то, что представление отображается над ней - попробуйте добавить два атрибута к этому представлению в своем XML:
<View
android:id="@+id/yourView"
android:clickable="true"
android:focusable="true" />
Это заставит вид перехватывать все прикосновения и не передавать его дальше вниз по дереву вида.