Android UI Kit
The Android UI Kit enables you to integrate a complete, production-ready video call interface into your Android native app with just a few lines of code. The framework is 100% native, handles auto-orientation, and provides 99% reduced development time compared to building from scratch using the raw Android SDK.
Rather than managing streams, media devices, and UI controls individually, you drop in a
single EnxVideoView component. It renders the full video session experience —
participant tiles, toolbar controls, chat, screen share, and more — and exposes a clean
observer interface for lifecycle events.
Download the SDK ZIP, add it to your project via Gradle flatDir, and follow the Installation guide. See Release Notes for what's new.
⬇ Download Android UI KitThe UI Kit ships with a comprehensive set of in-session controls available to all participants, with an additional layer of moderator-only capabilities for session management.
Features for Participants and Moderators
Every user in a session — regardless of role — has access to the following controls:
- Mute and unmute their own audio and video
- Switch between front and rear cameras
- Switch audio output device (speaker, earpiece, or Bluetooth)
- Group and private text chat
- File sharing with all participants or privately with an individual
- View and configure the participant list
- Switch video layout
- Raise hand to request floor access (Lecture and Webinar modes)
- Annotate on a shared screen
- Screen sharing
- Canvas streaming
- Disconnect call
- Picture-in-Picture (PiP) mode for seamless multitasking
- Audio-only call UI — improved calling screen for 1-to-1 audio calls with overlay mic and exit controls
Features for Moderators Only
Users who join with the moderator role get additional in-session controls for managing the session and participants:
- Record the session
- Hard mute the entire room audio
- Mute or unmute an individual participant's audio or video
- Drop a participant from the room
- Grant or deny floor access requests (Lecture mode)
- Revoke previously granted floor access (Lecture mode)
- Start and stop RTMP live streaming
v2.2.2 introduces an improved UI for 1-to-1 audio-only calls. When a participant joins without video, the kit renders a purpose-built calling screen showing the remote participant's name and avatar over a gradient background, with overlay buttons for microphone toggle and exit. This replaces the generic video grid with an experience designed specifically for voice calls.
Both isAudioViewMode and configureAudioViewConfig must be called
before the EnableX session connects. Changes made after the session starts have no effect.
Enable the Audio View Overlay
Call isAudioViewMode(false) on the EnxSetting singleton to activate
the audio call UI with overlay mic-toggle and exit controls:
EnxSetting.getInstance(this).isAudioViewMode(false);
Customise the Audio View Appearance
Use configureAudioViewConfig() with an EnxAudioViewConfig object to
define the visual appearance of the audio call screen. All colour properties accept standard
Android Color values:
EnxSetting.getInstance(this).configureAudioViewConfig(
new EnxAudioViewConfig(
Color.parseColor("#0A3733"), // gradientLayer1 — top gradient colour
Color.parseColor("#031412"), // gradientLayer2 — bottom gradient colour
Color.WHITE, // nameTextColor — remote participant name
Color.WHITE, // sortNameTextColor — initials text colour
Color.parseColor("#128C7E") // sortNameBGColor — initials avatar background
)
);
| Parameter | Type | Description |
|---|---|---|
gradientLayer1 | int (Color) | Top colour of the background gradient. |
gradientLayer2 | int (Color) | Bottom colour of the background gradient. |
nameTextColor | int (Color) | Colour of the remote participant's display name. |
sortNameTextColor | int (Color) | Colour of the initials text inside the avatar circle. |
sortNameBGColor | int (Color) | Background colour of the avatar/initials circle. |
Use the pages below to set up, integrate, and customize the Android UI Kit in your app. Follow the order from left to right for a first-time integration.