Я создал собственный фрагмент NavigationView, который я вызываю из своего фрагмента MapView.Следуя примеру в документации, я попытался использовать стили во время выполнения в файле navigationView.xml, создав собственный стиль.До сих пор я мог настраивать каждый элемент, начиная пошаговую навигацию в моем собственном NavigationView, кроме самого вида карты.
В моем фрагменте MapView я уже использую тему светлого цвета, и он отображаетцвета карты, как и ожидалось.
<com.mapbox.mapboxsdk.maps.MapView
android:id="@+id/map_view"
...
mapbox:mapbox_styleUrl="mapbox://styles/mapbox/light-v9"/>
Однако я использую styleUrl таким же образом в моем navigationView.xml, который не оказывает никакого влияния на графическое представление пошагового навигационного представления.Он по-прежнему показывает стиль навигации по умолчанию для дня.Но в случае непротиворечивости я хотел бы иметь один и тот же стиль для моего вида карты и для моего вида навигации.
<com.mapbox.services.android.navigation.ui.v5.NavigationView
android:id="@+id/navigation_view"
...
app:navigationLightTheme="@style/CustomNavigationViewLight"/>
В своем файле style.xml я добавил следующую строку, как описано:
<!-- Map style -->
<item name="navigationViewMapStyle">@string/navigation_guidance_light</item>
В своем файле string.xml я добавил следующую строку с помощью stylesUrl:
<string name="navigation_guidance_light"
translatable="false">mapbox://styles/mapbox/light-v9</string>
Поскольку экземпляр MapView в NavigationView является частным членом, у меня нет прямой возможности доступа к нему идобавить UrlStyle программно.Есть ли лучшее решение?
Фактический пошаговый вид навигации:
Фактический стиль просмотра навигации
Я хотел бы добавить то же самоелегкий стиль для моего вида навигации, отображаемый за пределами.
требуемый стиль вида навигации