---
metadata:
  - name: generator
    content: Diplodoc Platform v5.70.0
alternate:
  - https://divkit.tech/docs/en/concepts/extensions/pinch-to-zoom.md
  - https://divkit.tech/docs/ru/concepts/extensions/pinch-to-zoom.md
  - href: https://divkit.tech/docs/ru/concepts/extensions/pinch-to-zoom.md
    type: text/markdown
    title: Markdown version
  - href: https://divkit.tech/docs/ru/llms.txt?revision=r22102947
    rel: describedby
---
> **Documentation Index:** Fetch the complete configuration index at https://divkit.tech/docs/ru/llms.txt?revision=r22102947

# Увеличение жестом

Расширение `pinch-to-zoom` увеличивает элемент, когда пользователь разводит два пальца. Увеличенный элемент отображается поверх остального содержимого и перемещается вслед за пальцами, а после завершения жеста плавно возвращается на место. Расширение поддерживается на Android и iOS.

```json translate=no
{
  "type": "image",
  "image_url": "https://example.com/image.png",
  "extensions": [
    {
      "id": "pinch-to-zoom"
    }
  ]
}
```

У расширения нет параметров.

## Особенности работы {#behavior}

- На Android расширение работает только с элементом [div-image](https://divkit.tech/docs/ru/concepts/divs/2/div-image.md). К другим элементам оно не применяется, а DivKit сообщает об ошибке.
- На iOS расширение можно добавить к любому элементу.

## Подключение {#connect}

{% list tabs %}

- Android

  build.gradle

  ```groovy translate=no
  dependencies {
      implementation "com.yandex.div:div-pinch-to-zoom:${versions.divkit}"
  }
  ```

  В коде:

  ```kotlin translate=no
  val pinchToZoomConfiguration = DivPinchToZoomConfiguration.Builder(activity)
      .host(window)
      .dimColor(0xFF808080.toInt())
      .build()
  val divConfiguration = DivConfiguration.Builder(imageLoader)
      .extension(DivPinchToZoomExtensionHandler(pinchToZoomConfiguration))
      .build()
  ```

  Методы `DivPinchToZoomConfiguration.Builder`:

  - `host` — окно, в котором отображается увеличенное изображение. По умолчанию: окно `Activity`.
  - `dimColor` — цвет затемнения содержимого под увеличенным изображением. По умолчанию затемнения нет.
  - `animationInterpolator` — интерполятор анимации, с которой изображение возвращается на место.

- iOS

  ```swift translate=no
  DivKitComponents(
    ...
    extensionHandlers: [
      PinchToZoomExtensionHandler(overlayView: rootView)
    ]
  )
  ```

  `overlayView` — view, поверх которого отображается увеличенный элемент. Чтобы получать события начала жеста, изменения масштаба и окончания жеста, передайте в обработчик параметр `zoomObserver` с объектом `PinchToZoomObserver`.

{% endlist %}

<!-- source: ru/_includes/index/troubleshooting.md -->
## Узнать больше {#troubleshooting}

Вы можете обсуждать интересующие вас темы в сообществе пользователей DivKit в Telegram: [https://t.me/divkit_community_ru](https://t.me/divkit_community_ru).



[Репозиторий DivKit](https://github.com/divkit/divkit)




<!-- endsource: ru/_includes/index/troubleshooting.md -->
