---
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 (option 1)" default>

```kotlin
val onboardingView = AdaptyUI.getOnboardingView(
    activity = this,
    viewConfig = onboardingConfig,
    eventListener = eventListener
)
```
  </TabItem>
  <TabItem value="kotlin2" label="Kotlin (option 2)">

```kotlin
val onboardingView = AdaptyOnboardingView(activity)
onboardingView.show(
    viewConfig = onboardingConfig,
    delegate = eventListener
)
```
  </TabItem>
  <TabItem value="java" label="Java (option 1)">

```java
AdaptyOnboardingView onboardingView = AdaptyUI.getOnboardingView(
    activity,
    onboardingConfig,
    eventListener
);
```
  </TabItem>
  <TabItem value="java2" label="Java (option 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\}

默认情况下，在启动画面与用户引导之间，用户引导完全加载之前会显示加载界面。但是，如果您希望使过渡更加流畅，可以自定义该过渡效果，例如延长启动画面的显示时间或显示其他内容。

为此，请在 `res/layout` 中创建 `adapty_onboarding_placeholder_view.xml`，并在其中定义占位视图（即用户引导加载期间显示的内容）。

如果您定义了占位视图，用户引导将在后台加载，并在准备就绪后自动显示。

## 禁用安全区域边距 \{#disable-safe-area-paddings\}

默认情况下，用户引导视图会自动应用安全区域边距，以避免与状态栏和导航栏等系统 UI 元素重叠。但是，如果您希望禁用此行为并完全控制布局，可以将 `safeAreaPaddings` 参数设置为 `false`。

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

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

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

```java
AdaptyOnboardingView onboardingView = AdaptyUI.getOnboardingView(
    activity,
    onboardingConfig,
    eventListener,
    false
);
```
  </TabItem>
  <TabItem value="java2" label="Java (option 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 v. 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>