---
title: "Отображение онбординга в Android SDK"
description: "Узнайте, как отображать онбординги на Android для эффективного взаимодействия с пользователями."
---

Прежде чем начать, убедитесь, что:

1. Вы установили [Adapty Android SDK](sdk-installation-android) версии 3.8.0 или выше.
2. Вы [создали онбординг](create-onboarding).
3. Вы добавили онбординг в [плейсмент](placements).

Если вы настроили онбординг с помощью Onboarding Builder, вам не нужно беспокоиться о его отрисовке в коде мобильного приложения — всё, что должно отображаться и как именно, уже определено внутри онбординга.

Чтобы показать визуальный онбординг на экране устройства, необходимо сначала его сконфигурировать. Для этого вызовите метод `AdaptyUI.getOnboardingView()` или создайте `OnboardingView` напрямую:

<Tabs groupId="views-code-examples" queryString>
  <TabItem value="kotlin" label="Kotlin (вариант 1)" default>

```kotlin
val onboardingView = AdaptyUI.getOnboardingView(
    activity = this,
    viewConfig = onboardingConfig,
    eventListener = eventListener
)
```
  </TabItem>
  <TabItem value="kotlin2" label="Kotlin (вариант 2)">

```kotlin
val onboardingView = AdaptyOnboardingView(activity)
onboardingView.show(
    viewConfig = onboardingConfig,
    delegate = eventListener
)
```
  </TabItem>
  <TabItem value="java" label="Java (вариант 1)">

```java
AdaptyOnboardingView onboardingView = AdaptyUI.getOnboardingView(
    activity,
    onboardingConfig,
    eventListener
);
```
  </TabItem>
  <TabItem value="java2" label="Java (вариант 2)">

```java
AdaptyOnboardingView onboardingView = new AdaptyOnboardingView(activity);
onboardingView.show(onboardingConfig, eventListener);
```
  </TabItem>
  <TabItem value="xml" label="XML">

```xml
<com.adapty.ui.onboardings.AdaptyOnboardingView
        android:id="@+id/onboardingView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
```
  </TabItem>
</Tabs>

После успешного создания представления вы можете добавить его в иерархию и отобразить на экране устройства.

Параметры запроса:

| Параметр | Обязательность | Описание |
| :-------- | :------- |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **viewConfig** | обязательный | Конфигурация онбординга, полученная из `AdaptyUI.getOnboardingConfiguration()` |
| **eventListener** | обязательный | Реализация `AdaptyOnboardingEventListener` для обработки событий онбординга. Подробнее — в разделе [Обработка событий онбординга](android-handle-onboarding-events). |

## Изменение цвета индикатора загрузки \{#change-loading-indicator-color\}

Вы можете переопределить цвет индикатора загрузки по умолчанию следующим образом:

```xml

<style name="AppTheme" parent="android:Theme.Material.Light.NoActionBar">
    
    <item name="adapty_progressIndicatorColor">@color/yourColor</item>
</style>
```

## Плавный переход между заставкой и онбордингом \{#add-smooth-transitions-between-the-splash-screen-and-onboarding\}

По умолчанию между заставкой и онбордингом отображается экран загрузки, пока онбординг полностью не загрузится. Если вы хотите сделать переход более плавным, вы можете настроить его: либо продлить показ заставки, либо отобразить что-то иное.

Для этого создайте файл `adapty_onboarding_placeholder_view.xml` в папке `res/layout` и задайте в нём плейсхолдер — то, что будет показано, пока онбординг загружается.

Если плейсхолдер определён, онбординг будет загружаться в фоне и автоматически отобразится, когда будет готов.

## Отключение отступов безопасной зоны \{#disable-safe-area-paddings\}

По умолчанию представление онбординга автоматически применяет отступы безопасной зоны, чтобы избежать перекрытия системными элементами интерфейса (строка состояния, навигационная панель). Если вы хотите отключить это поведение и полностью контролировать разметку, установите параметр `safeAreaPaddings` в `false`.

<Tabs groupId="views-code-examples" queryString>
  <TabItem value="kotlin" label="Kotlin (вариант 1)" default>

```kotlin
val onboardingView = AdaptyUI.getOnboardingView(
    activity = this,
    viewConfig = onboardingConfig,
    eventListener = eventListener,
    safeAreaPaddings = false
)
```
  </TabItem>
  <TabItem value="kotlin2" label="Kotlin (вариант 2)">

```kotlin
val onboardingView = AdaptyOnboardingView(activity)
onboardingView.show(
    viewConfig = onboardingConfig,
    delegate = eventListener,
    safeAreaPaddings = false
)
```
  </TabItem>
  <TabItem value="java" label="Java (вариант 1)">

```java
AdaptyOnboardingView onboardingView = AdaptyUI.getOnboardingView(
    activity,
    onboardingConfig,
    eventListener,
    false
);
```
  </TabItem>
  <TabItem value="java2" label="Java (вариант 2)">

```java
AdaptyOnboardingView onboardingView = new AdaptyOnboardingView(activity);
onboardingView.show(onboardingConfig, eventListener, false);
```
  </TabItem>
</Tabs>

Кроме того, вы можете управлять этим поведением глобально, добавив булев ресурс в приложение:

```xml

<resources>
    <bool name="adapty_onboarding_enable_safe_area_paddings">false</bool>
</resources>
```

Когда `safeAreaPaddings` установлен в `false`, онбординг растягивается на весь экран без автоматических отступов, предоставляя вам полный контроль над разметкой и позволяя контенту онбординга использовать всё пространство экрана.

## Настройка открытия ссылок в онбордингах \{#customize-how-links-open-in-onboardings\}

:::important
Настройка открытия ссылок в онбордингах поддерживается начиная с Adapty SDK версии 3.15.1.
:::

По умолчанию ссылки в онбордингах открываются во встроенном браузере. Это обеспечивает бесшовный пользовательский опыт: веб-страницы отображаются внутри приложения, и пользователю не нужно переключаться между приложениями.

Если вы предпочитаете открывать ссылки во внешнем браузере, вы можете настроить это поведение, установив параметр `externalUrlsPresentation` в `AdaptyWebPresentation.ExternalBrowser`:

<Tabs groupId="views-code-examples" queryString>
  <TabItem value="kotlin" label="Kotlin" default>

```kotlin
val onboardingConfig = AdaptyUI.getOnboardingConfiguration(
    onboarding = onboarding,
    externalUrlsPresentation = AdaptyWebPresentation.ExternalBrowser // default – InAppBrowser
)
```
  </TabItem>
  <TabItem value="java" label="Java">

```java
AdaptyOnboardingConfiguration onboardingConfig = AdaptyUI.getOnboardingConfiguration(
    onboarding,
    AdaptyWebPresentation.ExternalBrowser // default – InAppBrowser
);
```
  </TabItem>
</Tabs>