Mapbox: стиль исполнения для пользовательского NavigationView - PullRequest
0 голосов
/ 29 ноября 2018

Я создал собственный фрагмент 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 программно.Есть ли лучшее решение?

Фактический пошаговый вид навигации:

Фактический стиль просмотра навигации

Я хотел бы добавить то же самоелегкий стиль для моего вида навигации, отображаемый за пределами.

требуемый стиль вида навигации

...