NativeSDK-0.1.1

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

Report Page