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) } } } }