# MD for: https://www.mercadopago.com.mx/developers/en/docs/smartapps/terminal-features/configure-full-screen.md \# Configure fullscreen To ensure the best SmartApp experience on Point Smart, we recommend displaying the interface in \*\*fullscreen\*\* mode, without the system navigation bar. This configuration must be done \*\*directly in your Android application code\*\* and \*\*included in the distributed APK\*\*. Follow the steps below to implement fullscreen mode in your application. ## Configure the \*\*AndroidManifest\*\* in your APK Assign the fullscreen theme to each \`Activity\` that should be displayed in fullscreen — for example, the main activity and the rest of the screens in the flow: \`\`\`xml \`\`\` ## Define your fullscreen theme In your app styles file (for example \`res/values/themes.xml\`), add a style that hides the title bar and enables fullscreen mode: \`\`\`xml \`\`\` ## Hide the system UI The bottom navigation bar stays hidden only while the user navigates inside your SmartApp. When moving to the \*\*checkout screen\*\* (Mercado Pago’s native payments app), the system \*\*will show the bar again\*\* automatically. To hide the system bars while navigating in the SmartApp, implement \*\*immersive UI\*\* logic in a base class (\`BaseActivity\`) and make \*\*each \`Activity\` in the project extend it\*\*. This ensures consistent behavior across the flow. In the example below, immersive mode is re-applied when the window regains focus (for example, after returning from another system screen). * [java ](#editor%5F2) * [kotlin ](#editor%5F1) kotlin java ``` import android.os.Bundle import android.view.View import androidx.appcompat.app.AppCompatActivity open class BaseActivity : AppCompatActivity() { override fun onWindowFocusChanged(hasFocus: Boolean) { super.onWindowFocusChanged(hasFocus) if (hasFocus) hideSystemUI() } @Suppress("DEPRECATION") private fun hideSystemUI() { window.decorView.systemUiVisibility = ( View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY or View.SYSTEM_UI_FLAG_FULLSCREEN or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION ) } } ``` Copiar ``` import android.os.Bundle; import android.view.View; import androidx.appcompat.app.AppCompatActivity; public class BaseActivity extends AppCompatActivity { @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (hasFocus) { hideSystemUI(); } } @SuppressWarnings("deprecation") private void hideSystemUI() { getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION ); } } ``` Copiar \> NOTE > > Recent Android versions > > The \`SYSTEM\_UI\_FLAG\_\*\` flags are deprecated from API 30 onward, though they remain common in existing integrations. For new projects or when upgrading your \`compileSdk\`, we recommend reviewing the migration to \`WindowInsetsController\` in the Android documentation. Next, make your screens extend \`BaseActivity\` instead of \`AppCompatActivity\` directly. With the \`AndroidManifest\`, the \`Theme.Fullscreen\` theme, and inheritance from \`BaseActivity\` applied, your SmartApp fullscreen configuration \*\*will be ready\*\*. Simply build the APK and validate the behavior on the Point Smart terminal.