我需要在导航路线视图中用圆圈更改默认箭头。我尝试了以下操作,但不起作用。
<style name="NavigationLayerStyle">
<item name="mapbox_gpsDrawable">@drawable/ic_directions_black_24dp</item>
</style>
<com.mapbox.services.android.navigation.ui.v5.NavigationView
android:id="@+id/navigationView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:navigationViewMapStyle="@style/CustomNavigationViewDark"
app:navigationDarkTheme="@style/CustomNavigationViewDark"
app:navigationLightTheme="@style/CustomNavigationViewDark"
app:navigationViewPrimary="@color/colorPrimary"
app:navigationViewLocationLayerStyle="@style/NavigationLayerStyle"/>
答案 0 :(得分:0)
我遇到了这个问题,几小时后我发现了 首先,您需要使用自定义可绘制对象声明自定义样式。
为此,您需要声明“ NavigationLocationLayerStyle”样式扩展(包含可绘制对象),并为其指定属性“ mapbox_gpsDrawable”
<style name="customGPS" parent="NavigationLocationLayerStyle">
<item name="mapbox_gpsDrawable">@drawable/bike_icon_map</item>
</style>
然后,使用您的自定义位置图层样式声明“主主题”
<style name="customdark" parent="NavigationViewDark">
<item name="navigationViewLocationLayerStyle">@style/customGPS</item>
</style>
完成后,只需将主题插入导航视图 为此,您不能使用任何NavigationView方法,因为它们都不起作用(或者至少我没有找到正确的方法)。所以我只写了这个命令(在kotlin中):
(this as Context).setTheme(R.style.customdark)
这大致可行,希望还不算太晚。