NativeSDK-0.1.1
release notesТемная тема
Добавилась возможность выставления темной темы карты. Попробовать сейчас можно с помощью выставления атрибута в стиле карты.
Важные замечания:
- Веб версия 2ГИС не поддерживает темную тему, поэтому сделать поддержку в SDK сразу и для online и для offline режима нет возможности. В тайлах получаемых с сервера просто нет всей информации. На данный момент, темная тема работает только с предустановленными данными
- Мы активно разрабатываем редактор стилей. В связи с этим, у нас довольно много изменений в данной области. Поэтому мы не можем гарантировать что смена режима с точки зрения API не будет переработана в будущих релизах
Переключение режима
private const val NIGHT_MODE_ATTR = "night_on"
// ....
findViewById<SwitchCompat>(R.id.night_mode_toggle).apply {
setOnCheckedChangeListener { _, value ->
map?.setStyleAttribute(NIGHT_MODE_ATTR, value)
}
}
Выставление темной темы при инициализации
StyleBuilder.create(sdkContext)?.defaultStyle?.onResult { nightStyle ->
Handler(Looper.getMainLooper()).post {
viewContext.get()?.let { activity ->
nightStyle
.styleAttributes()
.setAttributeValue(NIGHT_MODE_ATTR, toggle.isChecked)
val mapOptions = MapOptions().apply {
style = nightStyle
}
val mapView = MapView(activity, mapOptions)
activity.lifecycle.addObserver(mapView)
activity.findViewById<LinearLayout>(R.id.map_container).apply {
addView(mapView)
}
}
}
}