{"id":2577,"date":"2023-08-28T13:12:36","date_gmt":"2023-08-28T07:42:36","guid":{"rendered":"https:\/\/www.enablex.io\/insights\/?p=2577"},"modified":"2025-07-24T14:28:17","modified_gmt":"2025-07-24T08:58:17","slug":"android-video-call-ui-kit","status":"publish","type":"post","link":"https:\/\/www.enablex.io\/insights\/android-video-call-ui-kit\/","title":{"rendered":"How to build a video conferencing app using Android UI Kit\u00a0"},"content":{"rendered":"\n<p>Building a powerful <a href=\"https:\/\/www.enablex.io\/cpaas\/video-api\" target=\"_blank\" rel=\"noreferrer noopener\">video conferencing app<\/a> requires a comprehensive solution that encompasses seamless communication, robust features, and a user-friendly interface. If you are on the lookout for such a solution, look no further than the Android UI Kit by EnableX. With its versatile toolkit and the strength of the Android SDK, the Android UI Kit empowers developers to create immersive and feature-rich video conferencing experiences like never before.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Experience the best Android UI Kit for video calling applications<\/strong>&nbsp;<\/h2>\n\n\n\n<p>The EnableX Android UI Kit is a specialized toolkit designed to simplify the development of video user interfaces (UI) for Android applications. It provides pre-built UI components, widgets, and customization options that cater specifically to video application development. With the Android UI Kit, developers can quickly create visually appealing and functional video UI without the need for extensive coding or dealing with complex implementation details.&nbsp;<\/p>\n\n\n\n<p><strong>Why Developers Should Embrace Android Video UI Kit<\/strong>&nbsp;<\/p>\n\n\n\n<p>The primary advantage of using Android Video UI Kit is its ability to significantly reduce development effort and time. With just a few lines of code, developers can achieve the magic of implementing video communication within their app. This framework ensures a seamless video UI experience with comprehensive device support, allowing developers to focus on building robust video applications without the need for extensive coding and handling complex implementation details.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Advantages of using the Android UI Kit for building a video conferencing application<\/strong>&nbsp;<\/h2>\n\n\n\n<p>It offers several advantages for developers, including:&nbsp;<\/p>\n\n\n\n<ul>\n<li><strong>Reduced development effort and time:<\/strong> With just a few lines of code, developers can implement video communication within their app.&nbsp;<\/li>\n\n\n\n<li><strong>Seamless video UI experience:<\/strong> The UI Kit ensures a smooth and intuitive video UI experience with comprehensive device support.&nbsp;<\/li>\n\n\n\n<li><strong>Integration with WebRTC:<\/strong> The UI Kit integrates WebRTC technology, enabling real-time communication capabilities such as audio and video streaming within the app.&nbsp;<\/li>\n\n\n\n<li><strong>Simplified customization:<\/strong> The UI Kit provides customization options, allowing developers to tailor the UI components to their specific needs.&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"351\" src=\"https:\/\/www.enablex.io\/insights\/wp-content\/uploads\/2023\/10\/Free-WebRTC-Video-API-provider-3-1024x351.png\" alt=\"webrtc video api provider\" class=\"wp-image-2992\" srcset=\"https:\/\/www.enablex.io\/insights\/wp-content\/uploads\/2023\/10\/Free-WebRTC-Video-API-provider-3-1024x351.png 1024w, https:\/\/www.enablex.io\/insights\/wp-content\/uploads\/2023\/10\/Free-WebRTC-Video-API-provider-3-300x103.png 300w, https:\/\/www.enablex.io\/insights\/wp-content\/uploads\/2023\/10\/Free-WebRTC-Video-API-provider-3-768x263.png 768w, https:\/\/www.enablex.io\/insights\/wp-content\/uploads\/2023\/10\/Free-WebRTC-Video-API-provider-3.png 1173w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\"><strong>Does EnableX\u2019s Android UI Kit support low-code environments<\/strong>?&nbsp;<\/h2>\n\n\n\n<p>Yes, our UI Kit is adaptable to low-code environments. It offers integration with custom UI component settings configuration using Visual Builder. Additionally, users can change their UI components at runtime based on their requirements.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Permissions required to use EnableX Android UI Kit<\/strong>&nbsp;<\/h2>\n\n\n\n<p>To use the Android UI Kit, the app needs to have the following permissions:&nbsp;<\/p>\n\n\n\n<ul>\n<li><strong>CAMERA:<\/strong> Required for accessing the device camera during video calls.&nbsp;<\/li>\n\n\n\n<li><strong>RECORD_AUDIO<\/strong>: Required for accessing the device microphone during audio\/video calls.&nbsp;<\/li>\n\n\n\n<li><strong>INTERNET:<\/strong> Required for establishing network connectivity to enable communication with the EnableX platform.&nbsp;<\/li>\n\n\n\n<li><strong>CHANGE_NETWORK_STATE:<\/strong> Required for managing network connectivity.&nbsp;<\/li>\n\n\n\n<li><strong>MODIFY_AUDIO_SETTINGS:<\/strong> Required for adjusting audio settings during calls.&nbsp;<\/li>\n\n\n\n<li><strong>BLUETOOTH:<\/strong> Required for Bluetooth functionality if needed in the app.&nbsp;<\/li>\n\n\n\n<li><strong>BLUETOOTH_ADMIN:<\/strong> Required for Bluetooth administration if needed in the app.&nbsp;<\/li>\n\n\n\n<li><strong>WAKE_LOCK:<\/strong> Required for preventing the device from sleeping during video calls.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><strong>Which Video communication features are supported by the Android UI Kit?<\/strong>&nbsp;<br>The Android UI Kit provides a range of video communication features, including:&nbsp;<\/p>\n\n\n\n<ul>\n<li>Real-time audio and video streaming.&nbsp;<\/li>\n\n\n\n<li>Switching between front and rear cameras during video calls.&nbsp;<\/li>\n\n\n\n<li>Muting and unmuting audio and video streams.&nbsp;<\/li>\n\n\n\n<li>Group and private chat functionality.&nbsp;<\/li>\n\n\n\n<li>Participant list to view and manage participants in a video call.&nbsp;<\/li>\n\n\n\n<li>Switching between different video layout options.&nbsp;<\/li>\n\n\n\n<li>Disconnecting from the video call.&nbsp;<\/li>\n\n\n\n<li>Raising hand to join the floor (for webinar mode).&nbsp;<\/li>\n\n\n\n<li>Recording the session (for moderators).&nbsp;<\/li>\n\n\n\n<li>Controlling audio and video for individual participants (for moderators).&nbsp;<\/li>\n\n\n\n<li>Dropping participants from the room (for moderators).&nbsp;<\/li>\n\n\n\n<li>Allowing or denying participants&#8217; raised hand requests (for moderators in webinar mode).&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><strong>What are the System Requirements for Android video calling UI Kit?<\/strong>&nbsp;<\/p>\n\n\n\n<p>To use the Android UI Kit, you need to have Android Studio installed on your development machine. You can develop applications using either Kotlin or Java programming languages. Additionally, ensure that you have the necessary permissions and dependencies configured as mentioned in the documentation.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Wide Compatibility of EnableX Android UI Kit<\/strong>&nbsp;<\/h2>\n\n\n\n<p>The Android UI Kit is designed to be compatible with a wide range of Android devices. It supports different screen sizes, resolutions, and orientations. However, it&#8217;s always recommended to test your application on various devices to ensure optimal performance and compatibility.&nbsp;<\/p>\n\n\n\n<p>Having covered common queries posed by developers, it&#8217;s time now to delve into the technical specifics. The following section will outline how to harness the Android UI Kit to create a real-time video meeting application:&nbsp;<\/p>\n\n\n\n<p><strong>Prerequisites<\/strong>\u202f&nbsp;<br>Before beginning the integration of the Android UI Kit, these steps must be followed.&nbsp;<\/p>\n\n\n\n<ul>\n<li>Create an account on the <a href=\"https:\/\/www.enablex.io\/free-trial\/\" target=\"_blank\" rel=\"noreferrer noopener\">EnableX Platform<\/a>\u202f&nbsp;<\/li>\n\n\n\n<li>Create a video project\u202f\u202f&nbsp;<\/li>\n\n\n\n<li>Get App ID and App Key\u202f&nbsp;<\/li>\n\n\n\n<li>Create rooms and generate token\u202f&nbsp;<\/li>\n\n\n\n<li>Android Studio installed on your development machine.\u202f&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><strong>Create a Video Project<\/strong>\u202f&nbsp;<\/p>\n\n\n\n<p>To develop a video conferencing App using Android UI Kit, first, you need to create a Video Project with EnableX Platform. To create a Video project, do the following:\u202f&nbsp;<\/p>\n\n\n\n<ul>\n<li>Navigate to <strong>My Dashboard<\/strong>, go to <strong>My Projects<\/strong> section and click on <strong>CREATE PROJECT<\/strong> button<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"983\" height=\"344\" src=\"https:\/\/www.enablex.io\/insights\/wp-content\/uploads\/2023\/08\/1.create-project.png\" alt=\"video api account\" class=\"wp-image-2579\" srcset=\"https:\/\/www.enablex.io\/insights\/wp-content\/uploads\/2023\/08\/1.create-project.png 983w, https:\/\/www.enablex.io\/insights\/wp-content\/uploads\/2023\/08\/1.create-project-300x105.png 300w, https:\/\/www.enablex.io\/insights\/wp-content\/uploads\/2023\/08\/1.create-project-768x269.png 768w\" sizes=\"(max-width: 983px) 100vw, 983px\" \/><\/figure><\/div>\n\n\n<ul>\n<li>A <strong>Create Project<\/strong> form will open. Enter the project-related information like <em>project name, application<\/em> and <em>description<\/em> and enable <em>Video <\/em>in the Channels section.\u202f<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"745\" height=\"470\" src=\"https:\/\/www.enablex.io\/insights\/wp-content\/uploads\/2023\/08\/2.enable-service.png\" alt=\"video api UI Kit Android\" class=\"wp-image-2580\" srcset=\"https:\/\/www.enablex.io\/insights\/wp-content\/uploads\/2023\/08\/2.enable-service.png 745w, https:\/\/www.enablex.io\/insights\/wp-content\/uploads\/2023\/08\/2.enable-service-300x189.png 300w\" sizes=\"(max-width: 745px) 100vw, 745px\" \/><\/figure><\/div>\n\n\n<ul>\n<li>Once you have filled in all the necessary information, click on the <strong>CREATE PROJECT<\/strong> button to create your project. A confirmation popup will then appear, confirming the successful creation of your project. Click on <strong>GET STARTED<\/strong> to proceed further.\u202f&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"527\" height=\"251\" src=\"https:\/\/www.enablex.io\/insights\/wp-content\/uploads\/2023\/08\/3.get-started.png\" alt=\"\" class=\"wp-image-2581\" srcset=\"https:\/\/www.enablex.io\/insights\/wp-content\/uploads\/2023\/08\/3.get-started.png 527w, https:\/\/www.enablex.io\/insights\/wp-content\/uploads\/2023\/08\/3.get-started-300x143.png 300w\" sizes=\"(max-width: 527px) 100vw, 527px\" \/><\/figure><\/div>\n\n\n<p><strong>Get APP ID and APP KEY for Android based Video API Conferencing<\/strong>\u202f&nbsp;<\/p>\n\n\n\n<p>The App ID and App Key, serve as the username and password, respectively, in the HTTP Base Authentication Request Header of our Video Server API Call.\u202fWhen you create a project, the API Access Credentials are sent to you via email. However, you may need to reset API Key or resend API Credentials. To know more, read our comprehensive <a href=\"https:\/\/www.enablex.io\/developer\/video\/solutions\/video-ui-kit\/android-video-ui-kit\/\">developer documentation<\/a>.\u202f&nbsp;<\/p>\n\n\n\n<p><strong>Create Virtual rooms and Generate Token<\/strong>\u202f&nbsp;<\/p>\n\n\n\n<p><strong>Create Room<\/strong>\u202f&nbsp;<\/p>\n\n\n\n<p>To create a room, make an <strong>HTTP POST<\/strong> request to the following API route: <a href=\"https:\/\/api.enablex.io\/video\/v2\/rooms\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/api.enablex.io\/video\/v2\/rooms<\/a>. You need to include the necessary parameters and values in the request body, which should be in JSON format. For example:\u202f&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"> \n{\u202f \n\u202f \"name\": \"Topic or Room Title\",\u202f \n\u202f \"owner_ref\": \"xyz\",\u202f \n\u202f \"settings\": {\u202f \n\u202f \u202f \"description\": \"Descriptive text\",\u202f \n\u202f \u202f \"mode\": \"group\",\u202f \n\u202f \u202f \"scheduled\": false,\u202f \n\u202f \u202f \"adhoc\": false,\u202f \n\u202f \u202f \"duration\": 30,\u202f \n\u202f \u202f \u2026\u2026\u2026.\u202f \n\u202f\u202f\u202f \u2026\u2026..\u202f \n\u202f \u202f\u202f \n\u202f \u202f \"role_based_recording\": {\u202f \n\u202f \u202f \u202f \"moderator\": \"audiovideo\",\u202f \n\u202f \u202f \u202f \"participant\": \"audio\"\u202f \n\u202f \u202f },\u202f \n\u202f \u202f \"live_recording\": {\u202f \n\u202f \u202f \u202f \"auto_recording\": true,\u202f \n\u202f \u202f \u202f \"url\": \"https:\/\/your-custom-view-url\"\u202f \n\u202f \u202f }\u202f \n\u202f },\u202f \n\u202f \"sip\": {\u202f \n\u202f \u202f \"enabled\": false\u202f \n\u202f },\u202f \n\u202f \"data\": {\u202f \n\u202f \u202f \"custom_key\": \"\"\u202f \n\u202f }\u202f \n}\u202f \n\u202f \n<\/pre>\n\n\n\n<p>To know more about Create Rooms, please read <a href=\"https:\/\/www.enablex.io\/developer\/video-api\/server-api\/rooms-route\/#create-room\" target=\"_blank\" rel=\"noreferrer noopener\">Create Room to carry out RTC Session <\/a>.\u202f&nbsp;<\/p>\n\n\n\n<p><strong>Generate Token<\/strong>\u202f&nbsp;<\/p>\n\n\n\n<p>To create a token for joining an RTC session on the EnableX platform, make a POST request to the API route: <a href=\"https:\/\/api.enablex.io\/v2\/rooms\/%7broom-id%7d\/tokens\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/api.enablex.io\/v2\/rooms\/{room-id}\/tokens<\/a> where {room-id} is the ID of the room you want to join. For example:\u202f&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"> \nPOST https:\/\/api.enablex.io\/video\/v2\/rooms\/{room_id}\/tokens\u202f \nAuthorization: Basic XXXXXXX\u202f \nContent-Type: application\/json\u202f \n\u202f \n{\u202f \n\u202f \u202f \u202f\"name\": \"User Name\",\u202f \n\u202f \u202f \u202f\"role\": \"participant\",\u202f \n\u202f \u202f \u202f\"user_ref\": \"XXX\",\u202f \n\u202f \u202f \u202f\"data\": {\u202f \n\u202f \u202f \u202f \u202f \"custom_key\": \"String\",\u202f \n\u202f \u202f \"any_key\": \"String\"\u202f \n\u202f \u202f \u202f}\u202f \n}\u202f \n<\/pre>\n\n\n\n<p>Upon successful creation, the API will respond with a JSON object containing the result and the generated token (<strong><em>JWT_WEB_TOKEN<\/em><\/strong>).\u202f&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">{\u202f \n\u202f \u202f \u202f\"result\": 0,\u202f\u202f \n\u202f \u202f \u202f\"token\": \"JWT_WEB_TOKEN\"\u202f \n\u202f}\u202f <\/pre>\n\n\n\n<p>To know more about Token, please read <a href=\"https:\/\/www.enablex.io\/developer\/video-api\/server-api\/rooms-route\/#create-token\" target=\"_blank\" rel=\"noreferrer noopener\">Create Token to join a Room<\/a>.\u202f&nbsp;<\/p>\n\n\n\n<p><strong>Integrate Android UI Kit into project<\/strong>&nbsp;<\/p>\n\n\n\n<p>Once you have created a video project with the EnableX Platform and established a virtual video meeting room, the next step is to integrate it into your project. Follow these steps:&nbsp;<\/p>\n\n\n\n<ol>\n<li>Download the latest <strong>Android SDK<\/strong> (AAR file)&nbsp;<\/li>\n\n\n\n<li>Download the Latest <strong>Android UI Kit<\/strong> (AAR file)&nbsp;<\/li>\n\n\n\n<li>Add downloaded AAR files to the project\u2019s <strong><em>lib<\/em><\/strong> folder&nbsp;<\/li>\n\n\n\n<li>Modify Your Project-Level <strong><em>Build.gradle<\/em><\/strong> File. Follow these steps:&nbsp;<\/li>\n<\/ol>\n\n\n\n<ul>\n<li>Navigate to your project\u2019s root directory.&nbsp;<\/li>\n\n\n\n<li>Locate and open the <strong><em>build.gradle<\/em><\/strong> file.&nbsp;<\/li>\n\n\n\n<li>Find the <strong><em>allprojects.repositories<\/em><\/strong> section in the file.&nbsp;<\/li>\n\n\n\n<li>Insert the following block of code:&nbsp;<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">Insert the following block of code: \nallprojects{  \n\u202f repositories {  \n\u202f \u202f \u202f flatDir {  \n\u202f \u202f \u202f \u202f dirs 'libs'  \n\u202f \u202f \u202f }  \n\u202f \u202f }  \n\u202f } \n\n\n<\/pre>\n\n\n\n<p><strong>5. Add dependencies to your project<\/strong>&nbsp;<\/p>\n\n\n\n<ul>\n<li>Navigate to your App directory.&nbsp;<\/li>\n\n\n\n<li>Locate your application-level <strong><em>build.gradle<\/em><\/strong> file.&nbsp;<\/li>\n\n\n\n<li>Open the <strong><em>build.gradle<\/em><\/strong> file.&nbsp;<\/li>\n\n\n\n<li>Navigate to the dependencies section of the file.&nbsp;<\/li>\n\n\n\n<li>Append the following code:&nbsp;<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">implementation fileTree(dir: 'libs', include: ['*.aar', '*.jar'], exclude: [])  \nimplementation('io.socket:socket.io-client:1.0.1') {  \n\u202f exclude group: 'org.json', module: 'json'  \n}  \nimplementation 'org.webrtc:google-webrtc:1.0.32006'  <\/pre>\n\n\n\n<p>6. <strong>Define Device Permissions<\/strong>&nbsp;<\/p>\n\n\n\n<p>Your app needs certain permissions to use features on the user&#8217;s phone. You tell Android about these permissions in your <strong><em>AndroidManifest.xml<\/em><\/strong> file.&nbsp;&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;uses-permission android:name=\"android.permission.CAMERA\" \/&gt;  \n&lt;uses-permission android:name=\"android.permission.RECORD_AUDIO\" \/&gt;  \n&lt;uses-permission android:name=\"android.permission.INTERNET\" \/&gt;  \n&lt;uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\" \/&gt;  \n&lt;uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\" \/&gt;  \n&lt;uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\" \/&gt;  \n&lt;uses-permission android:name=\"android.permission.BLUETOOTH\" android:maxSdkVersion=\"30\"\/&gt;  \n&lt;uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\" android:maxSdkVersion=\"30\"\/&gt;  \n&lt;uses-permission android:name=\"android.permission.WAKE_LOCK\" \/&gt;  \n&lt;uses-permission android:name=\"android.permission.BLUETOOTH_SCAN\"android:usesPermissionFlags=\"neverForLocation\"\/&gt;  \n&lt;uses-permission android:name=\"android.permission.BLUETOOTH_ADVERTISE\" \/&gt;  \n&lt;uses-permission android:name=\"android.permission.BLUETOOTH_CONNECT\" \/&gt;  \n \n\n<\/pre>\n\n\n\n<p>7. <strong>Implement Android Video UI Kit<\/strong>&nbsp;<\/p>\n\n\n\n<p><strong>Import the packages<\/strong>&nbsp;<\/p>\n\n\n\n<p>Open your activity file. At the top of the file, add the given packages:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">import com.enablex.enxuikit_android.observer.EnxVideoStateObserver  \nimport com.enablex.enxuikit_android.view.EnxVideoView  \n \n<strong>Initialize the <em>EnxVideoView<\/em> Class<\/strong>&nbsp;<\/pre>\n\n\n\n<p>&nbsp; This step involves adding the reference of <strong><em>EnxVideoView <\/em><\/strong>to your layout.&nbsp;&nbsp;<\/p>\n\n\n\n<ul>\n<li>Initialize EnxVideoView.&nbsp;<\/li>\n\n\n\n<li>Set layout parameters.&nbsp;<\/li>\n\n\n\n<li>Add <strong><em>VideoView<\/em><\/strong> to your layout.&nbsp;<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\"> \n\/\/ Initialize EnxVideoView \nenxVideoView = EnxVideoView(this,token,this, \"Low Code Embed URL\") \n\/\/ Low Code Embed URL is optional, in case you want to import settings. \n \n\/\/ Set Layout Parameters \nval rlp = RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT) \n \n\/\/ Add VideoView to your Layout \nthis.addContentView(enxVideoView, rlp)  \n \n8. <strong>Handling Device Orientation and Back Button<\/strong>&nbsp;<\/pre>\n\n\n\n<p>In the development of Android real-time video applications, two crucial aspects that contribute to seamless and user-friendly experience are handling device orientation changes and managing the behavior of the back button. Let\u2019s see how to implement these function:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">android:configChanges=\"orientation|screenSize|keyboardHidden\" \n \noverride fun onConfigurationChanged(newConfig: Configuration) {  \n\u202f super.onConfigurationChanged(newConfig)  \n\u202f enxVideoView?.configurationChanged(newConfig)  \n}  \n\n<\/pre>\n\n\n\n<p>To implement back button, override <em>onBackPressed <\/em>function and call below function.&nbsp;&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">override fun onBackPressed() { \n\u202f enxVideoView?.backPressed()  \n} \n \n9. <strong>Customised UI Screens<\/strong>&nbsp;<\/pre>\n\n\n\n<p>The Android UI Kit provides a broad range of customization of UI components. Users can utilize the UI components provided, to shape the application interface in alignment with their unique requirements. For instance, the bottom and top bar UI options can be adjusted using the following methods:&nbsp;<\/p>\n\n\n\n<ul>\n<li><strong>Bottom Bar Customization:<\/strong> Bottom Bar design can be customized by passing a list of <strong><em>EnxButton<\/em><\/strong> to the <strong><em>configureBottomOptionList<\/em><\/strong> function. You can also create your own custom button, use the <strong><em>setImage<\/em><\/strong> function and pass two images (for normal and selected states), except for the disconnect button, which takes only a single parameter for image.&nbsp;<\/li>\n\n\n\n<li><strong>Top Bar Customization:<\/strong> Top Bar design ca be adjusted by passing a list of <strong><em>EnxButton<\/em><\/strong> to the <strong><em>configureTopOptionList<\/em><\/strong> function. The <strong><em>setImage<\/em><\/strong> function can be used for setting images in two states for the <strong><em>REQUEST_FLOOR<\/em><\/strong> button. For <strong><em>USER_LIST<\/em><\/strong> and <strong><em>MENU<\/em><\/strong>, only a single image parameter is needed.&nbsp;<\/li>\n\n\n\n<li><strong>Bottom Bar Background Color:<\/strong> The background color of the Bottom Bar can be updated by passing the <em>resource id<\/em> of the color to the <strong><em>updateBottomOptionView <\/em><\/strong>function.&nbsp;<\/li>\n\n\n\n<li><strong>Top Bar Background Color:<\/strong> The background color of the Top Bar can be updated by passing the <em>resource id<\/em> of the color to the <strong><em>updateTopOptionView <\/em><\/strong>function.&nbsp;<\/li>\n\n\n\n<li><strong><em>Participant List Options:<\/em><\/strong> Additional actions can be added for each participant in the participant list, enhancing the application&#8217;s versatility.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>EnableX Android UI Kit offers more UI customization options. For more detailed Information about available UI customization options, Please read <a href=\"https:\/\/www.enablex.io\/developer\/video\/solutions\/video-ui-kit\/android-video-ui-kit\/\" target=\"_blank\" rel=\"noreferrer noopener\">Android UI Kit: UI Screen Customization<\/a>.&nbsp;<\/p>\n\n\n\n<p><strong>Integrate EnableX Functionality<\/strong>&nbsp;<\/p>\n\n\n\n<ul>\n<li>Utilize the EnableX Android UI Kit APIs to integrate key functionalities into your app.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><strong>Start a Video Call by Joining a Room<\/strong>&nbsp;<\/p>\n\n\n\n<ul>\n<li>To initiate a video call, you need to join a room using the <em>joinRoom<\/em> method .&nbsp;<\/li>\n\n\n\n<li>Pass the required <strong>token<\/strong>, to the <em>joinRoom <\/em>method to establish a connection with the video conferencing session.&nbsp;<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">EnxVideoView( \n     token: token, \n     embedUrl: \"https:\/\/enablex22.vcloudx.com\", \n     connectError: (Map&lt;dynamic, dynamic&gt; map) \n\nThe token ensures secure access to the room.&nbsp;<\/pre>\n\n\n\n<p><strong>Note:<\/strong>&nbsp; The <em>embedURL<\/em> is option, which you will receive from the visual builder page&nbsp;<\/p>\n\n\n\n<p>Once you successfully join the room, you can interact with other participants, share audio and video streams, and engage in real-time communication.&nbsp;<\/p>\n\n\n\n<p><strong>Video Preview &#8211; Android UI Kit<\/strong>&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"375\" height=\"812\" src=\"https:\/\/www.enablex.io\/insights\/wp-content\/uploads\/2023\/08\/4.android-video-preview.png\" alt=\"android UI Kit for video calling\" class=\"wp-image-2578\" srcset=\"https:\/\/www.enablex.io\/insights\/wp-content\/uploads\/2023\/08\/4.android-video-preview.png 375w, https:\/\/www.enablex.io\/insights\/wp-content\/uploads\/2023\/08\/4.android-video-preview-139x300.png 139w\" sizes=\"(max-width: 375px) 100vw, 375px\" \/><\/figure><\/div>","protected":false},"excerpt":{"rendered":"<p>Building a powerful video conferencing app requires a comprehensive solution that encompasses seamless communication, robust features, and a user-friendly interface. If you are on the lookout for such a solution, look no further than the Android UI Kit by EnableX. With its versatile toolkit and the strength of the Android SDK, the Android UI Kit &#8230;<\/p>\n","protected":false},"author":25,"featured_media":2582,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":true,"footnotes":""},"categories":[23,212,93,98],"tags":[34,138,141,50,75],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>The best Android UI Kit for video call Applications<\/title>\n<meta name=\"description\" content=\"Using EnableX&#039;s Android UI Kit for Android, you can quickly embed video calling into your apps. The UI kit is free to use.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.enablex.io\/insights\/android-video-call-ui-kit\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The best Android UI Kit for video call Applications\" \/>\n<meta property=\"og:description\" content=\"Using EnableX&#039;s Android UI Kit for Android, you can quickly embed video calling into your apps. The UI kit is free to use.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.enablex.io\/insights\/android-video-call-ui-kit\/\" \/>\n<meta property=\"og:site_name\" content=\"Insights about video API, SMS API; WhatsApp for Business API\" \/>\n<meta property=\"article:published_time\" content=\"2023-08-28T07:42:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-24T08:58:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.enablex.io\/insights\/wp-content\/uploads\/2023\/08\/How-to-build-a-video-conferencing-app-using-Android-UI-Kit-Features-img.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1140\" \/>\n\t<meta property=\"og:image:height\" content=\"401\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jason Wills\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@enablexio\" \/>\n<meta name=\"twitter:site\" content=\"@enablexio\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jason Wills\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The best Android UI Kit for video call Applications","description":"Using EnableX's Android UI Kit for Android, you can quickly embed video calling into your apps. The UI kit is free to use.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.enablex.io\/insights\/android-video-call-ui-kit\/","og_locale":"en_US","og_type":"article","og_title":"The best Android UI Kit for video call Applications","og_description":"Using EnableX's Android UI Kit for Android, you can quickly embed video calling into your apps. The UI kit is free to use.","og_url":"https:\/\/www.enablex.io\/insights\/android-video-call-ui-kit\/","og_site_name":"Insights about video API, SMS API; WhatsApp for Business API","article_published_time":"2023-08-28T07:42:36+00:00","article_modified_time":"2025-07-24T08:58:17+00:00","og_image":[{"width":1140,"height":401,"url":"https:\/\/www.enablex.io\/insights\/wp-content\/uploads\/2023\/08\/How-to-build-a-video-conferencing-app-using-Android-UI-Kit-Features-img.png","type":"image\/png"}],"author":"Jason Wills","twitter_card":"summary_large_image","twitter_creator":"@enablexio","twitter_site":"@enablexio","twitter_misc":{"Written by":"Jason Wills","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.enablex.io\/insights\/android-video-call-ui-kit\/#article","isPartOf":{"@id":"https:\/\/www.enablex.io\/insights\/android-video-call-ui-kit\/"},"author":{"name":"Jason Wills","@id":"https:\/\/www.enablex.io\/insights\/#\/schema\/person\/422d2b153c3c96827da141c6446d11a3"},"headline":"How to build a video conferencing app using Android UI Kit\u00a0","datePublished":"2023-08-28T07:42:36+00:00","dateModified":"2025-07-24T08:58:17+00:00","mainEntityOfPage":{"@id":"https:\/\/www.enablex.io\/insights\/android-video-call-ui-kit\/"},"wordCount":1808,"publisher":{"@id":"https:\/\/www.enablex.io\/insights\/#organization"},"keywords":["CPaaS","video api","video call api","video chat api","video conferencing"],"articleSection":["TechTalks","Video API","Video API","Video Meeting"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.enablex.io\/insights\/android-video-call-ui-kit\/","url":"https:\/\/www.enablex.io\/insights\/android-video-call-ui-kit\/","name":"The best Android UI Kit for video call Applications","isPartOf":{"@id":"https:\/\/www.enablex.io\/insights\/#website"},"datePublished":"2023-08-28T07:42:36+00:00","dateModified":"2025-07-24T08:58:17+00:00","description":"Using EnableX's Android UI Kit for Android, you can quickly embed video calling into your apps. The UI kit is free to use.","breadcrumb":{"@id":"https:\/\/www.enablex.io\/insights\/android-video-call-ui-kit\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.enablex.io\/insights\/android-video-call-ui-kit\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.enablex.io\/insights\/android-video-call-ui-kit\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.enablex.io\/insights\/"},{"@type":"ListItem","position":2,"name":"How to build a video conferencing app using Android UI Kit\u00a0"}]},{"@type":"WebSite","@id":"https:\/\/www.enablex.io\/insights\/#website","url":"https:\/\/www.enablex.io\/insights\/","name":"Enablex","description":"","publisher":{"@id":"https:\/\/www.enablex.io\/insights\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.enablex.io\/insights\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.enablex.io\/insights\/#organization","name":"Enablex","url":"https:\/\/www.enablex.io\/insights\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.enablex.io\/insights\/#\/schema\/logo\/image\/","url":"https:\/\/www.enablex.io\/insights\/wp-content\/uploads\/2023\/05\/EnableX-Logo-01.png","contentUrl":"https:\/\/www.enablex.io\/insights\/wp-content\/uploads\/2023\/05\/EnableX-Logo-01.png","width":17382,"height":3567,"caption":"Enablex"},"image":{"@id":"https:\/\/www.enablex.io\/insights\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/twitter.com\/enablexio","https:\/\/www.linkedin.com\/company\/vcloudx"]},{"@type":"Person","@id":"https:\/\/www.enablex.io\/insights\/#\/schema\/person\/422d2b153c3c96827da141c6446d11a3","name":"Jason Wills","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.enablex.io\/insights\/#\/schema\/person\/image\/","url":"https:\/\/www.enablex.io\/insights\/wp-content\/uploads\/2025\/05\/envato-labs-ai-f14f6981-d7f8-4c3e-9234-00323c7d5ca0-96x96.jpg","contentUrl":"https:\/\/www.enablex.io\/insights\/wp-content\/uploads\/2025\/05\/envato-labs-ai-f14f6981-d7f8-4c3e-9234-00323c7d5ca0-96x96.jpg","caption":"Jason Wills"},"description":"Jason works behind the scenes at EnableX, helping to turn complex tech into practical tools that developers and businesses can actually use. With several years of experience in product development and platform architecture, he focuses on making communication technologies simpler, smarter and easier to build with. Whether he's writing step-by-step guides, product tips or explaining how our APIs work, Jason keeps things clear and useful.","sameAs":["https:\/\/www.enablex.io\/","https:\/\/www.linkedin.com\/company\/vcloudx\/"],"url":"https:\/\/www.enablex.io\/insights\/author\/jason-wills\/"}]}},"_links":{"self":[{"href":"https:\/\/www.enablex.io\/insights\/wp-json\/wp\/v2\/posts\/2577"}],"collection":[{"href":"https:\/\/www.enablex.io\/insights\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.enablex.io\/insights\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.enablex.io\/insights\/wp-json\/wp\/v2\/users\/25"}],"replies":[{"embeddable":true,"href":"https:\/\/www.enablex.io\/insights\/wp-json\/wp\/v2\/comments?post=2577"}],"version-history":[{"count":0,"href":"https:\/\/www.enablex.io\/insights\/wp-json\/wp\/v2\/posts\/2577\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.enablex.io\/insights\/wp-json\/wp\/v2\/media\/2582"}],"wp:attachment":[{"href":"https:\/\/www.enablex.io\/insights\/wp-json\/wp\/v2\/media?parent=2577"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.enablex.io\/insights\/wp-json\/wp\/v2\/categories?post=2577"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.enablex.io\/insights\/wp-json\/wp\/v2\/tags?post=2577"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}