---
title: Customization
canonical: https://developer.unico.io/dual-api/developers/sdks-and-tools/android/customization
locale: en
generated_by: markdown-export
---

:::warning[Capture flow availability]
These customizations are only available when the capture flow is **`document-capture`** or **`liveness`**.
:::

The Android SDK supports two dimensions of customization: language and colors.

## Language

Configure the language of informational messages in the capture frames via the `setLocale` method:

### Kotlin

  ```kotlin
  acessoBioBuilder.setLocale(LocaleTypes.EN_US)
  ```

### Java

  ```java
  acessoBioBuilder.setLocale(LocaleTypes.EN_US);
  ```

Refer to [API Reference > Enums](/developers/sdks-and-tools/android/api-reference/enums) for the full list of supported `LocaleTypes` values.

## Colors

Apply a custom theme using `setTheme` on `acessoBioBuilder`. Color values can be passed as a **Color Resource** (`R.color.your_color`) or a **hexadecimal String** (`"#FF0000"`).

The `IAcessoBioTheme` interface exposes different methods depending on the capture type.

****Selfie capture****

| Method | What it customizes |
  |---|---|
  | `getColorBackground()` | Background color of the selfie capture frame |
  | `getColorBoxMessage()` | Background color of the message box |
  | `getColorTextMessage()` | Text color inside the message box |
  | `getColorSilhouetteSuccess()` | Color of the silhouette when capture succeeds |

  ### Kotlin

    ```kotlin
    val unicoTheme = object : IAcessoBioTheme {
      override fun getColorBackground() = R.color.your_color
      override fun getColorBoxMessage() = R.color.your_color
      override fun getColorTextMessage() = R.color.your_color
      override fun getColorSilhouetteSuccess() = R.color.your_color
    }
    acessoBioBuilder.setTheme(unicoTheme)
    ```

### Java

    ```java
    IAcessoBioTheme unicoTheme = new IAcessoBioTheme() {
      @Override
      public Object getColorBackground() { return R.color.your_color; }

      @Override
      public Object getColorBoxMessage() { return R.color.your_color; }

      @Override
      public Object getColorTextMessage() { return R.color.your_color; }

      @Override
      public Object getColorSilhouetteSuccess() { return R.color.your_color; }
    };
    acessoBioBuilder.setTheme(unicoTheme);
    ```

  Alternatively, override the colors statically in your `colors.xml`:

  ```xml
  <color name="unico_color_background">#YourColor</color>
  <color name="unico_color_box_message">#YourColor</color>
  <color name="unico_color_text_message">#YourColor</color>
  <color name="unico_color_silhouette_success">#YourColor</color>
  <color name="unico_color_button_cancel">#YourColor</color>
  ```

  :::info
  `unico_color_button_cancel` is only available via `colors.xml` — it is not exposed as a method in `IAcessoBioTheme`.
  :::

****Document capture****

| Method | What it customizes |
  |---|---|
  | `getColorBackground()` | Background color of the document capture frame |
  | `getColorBackgroundTakePictureButton()` | Background color of the take-picture button |
  | `getColorIconTakePictureButton()` | Icon color inside the take-picture button |
  | `getColorBackgroundBottomDocument()` | Background color of the bottom bar |
  | `getColorTextBottomDocument()` | Text color in the bottom bar |

  ### Kotlin

    ```kotlin
    val unicoTheme = object : IAcessoBioTheme {
      override fun getColorBackground() = R.color.your_color
      override fun getColorBackgroundTakePictureButton() = R.color.your_color
      override fun getColorIconTakePictureButton() = R.color.your_color
      override fun getColorBackgroundBottomDocument() = R.color.your_color
      override fun getColorTextBottomDocument() = R.color.your_color
    }
    acessoBioBuilder.setTheme(unicoTheme)
    ```

### Java

    ```java
    IAcessoBioTheme unicoTheme = new IAcessoBioTheme() {
      @Override
      public Object getColorBackground() { return R.color.your_color; }

      @Override
      public Object getColorBackgroundTakePictureButton() { return R.color.your_color; }

      @Override
      public Object getColorIconTakePictureButton() { return R.color.your_color; }

      @Override
      public Object getColorBackgroundBottomDocument() { return R.color.your_color; }

      @Override
      public Object getColorTextBottomDocument() { return R.color.your_color; }
    };
    acessoBioBuilder.setTheme(unicoTheme);
    ```

  Alternatively, override the colors statically in your `colors.xml`:

  ```xml
  <color name="unico_color_background">#YourColor</color>
  <color name="unico_color_background_take_picture_button">#YourColor</color>
  <color name="unico_color_icon_take_picture_button">#YourColor</color>
  <color name="unico_color_background_bottom_document">#YourColor</color>
  <color name="unico_color_text_bottom_document">#YourColor</color>
  ```

:::warning[Customization scope]
No other customization dimensions are available. Custom UI behavior and layout are not offered by the native Android SDK. If you need a proprietary UI, refer to the [Capture Standard](/developers/sdks-and-tools/capture-standard) option (headless API integration).
:::