Android 16 Behavioral Changes
This document outlines the behavioral changes introduced in Android 16 (API level 36) and how these changes impact apps built using Quantum Visualizer.
Support for the Android version 16, Target SDK 36 has been added in Quantum Visualizer.
- Minimum SDK supported: API level 24
- Maximum SDK supported: API level 36
Platform and API Changes in Android 16
Edge-to-Edge UI Enforcement
Applications targeting Android 16 (API level 36) run in edge-to-edge mode by default. On devices running Android 15 or later, application content extends to the full bounds of the display, including areas beneath the status bar and system navigation bar.
Quantum Visualizer handles this behavior natively by applying appropriate window insets (padding) to the application’s root view. This preserves the same visual appearance as earlier Android versions, even when edge-to-edge is enforced.
Status Bar Visibility Adjustments
To maintain readability and proper UI visibility, the framework automatically adjusts system bar appearance settings based on the application background. For example, when a screen uses a light background color, Quantum Visualizer updates the status bar color or icon tint to ensure that status bar icons remain visible and accessible.
In addition, Quantum ensures that buttons, text, and other interactive elements remain positioned safely within visible screen boundaries.
New Edge-to-Edge Control Property
A new application-level configuration property, OptOutEdgeToEdgeEnforcement, is introduced to provide developers with control over edge-to-edge behavior.
By default, applications targeting API level 36 use edge-to-edge rendering together with the safe-area handling described above. Developers can disable this behavior by setting the OptOutEdgeToEdgeEnforcement property, which opts the application out of the default full-screen layout behavior.
If immersive edge-to-edge visuals are preferred, the property can also be configured to explicitly enable the feature. This flexibility allows developers to choose the rendering behavior that best fits their application design requirements.
Bottom Sheet Behavior
The bottom sheet appears above the navigation bar rather than at the bottom of the screen, as all widgets are drawn between the system bars.
Additional Notes
Apart from the changes described above, Android 16 behavior updates do not require any additional code changes for Quantum Visualizer applications. Existing application functionality, including device Back button handling, continues to work as expected when targeting API level 36.
Java and Build Tools Support
Android 16 support in Quantum Visualizer is built on updated Java and Android build tooling. Java 17 remains the required JDK version for building Android applications. Ensure that Java 17 is installed and configured in Quantum Visualizer before building your application.
To support Android API level 36, Quantum Visualizer uses Android Gradle Plugin (AGP) 8.10.1 and Gradle 8.11. These tooling updates are integrated into the Quantum Visualizer release and do not require any additional configuration.
Apart from installing the latest Android SDK components and Java 17, no manual action is required from developers to enable Android 16 support.
Migrate Existing Apps to Android 16 (API Level 36)
Follow these steps to migrate an existing Quantum Visualizer app to target Android 16 (API level 36):
- Update Android SDK Tools:
Download and install the Android SDK Platform and corresponding Build Tools (for example, build-tools 36.0.0) using Android Studio or the SDK Manager. Verify that both the SDK platform and build tools are available in your local Android SDK directory before proceeding. - Set Target SDK to 36 in Visualizer:
- Open your application in Quantum Visualizer.
- Navigate to Project Settings > Native > Android (Mobile/Tablet) > SDK Versions.
- In the Target SDK Level dropdown, select Android 16 (API level 36).
- Configure Java 17:
If JDK 17 is not already installed and configured:- Install JDK 17 on your development system.
- In Quantum Visualizer, navigate to Edit > Preferences > Build > Android.
- Update the Java Home field to point to your JDK 17 installation path.
- Rebuild and Validate the Application:
After completing the preceding steps:- Rebuild the application.
- Deploy and test the application on Android 16 devices or emulators.
- Verify that application functionality and UI behavior operate as expected under Android 16.
Android 16 enables edge-to-edge rendering by default for applications targeting API level 36. Review your application's UI to ensure content is displayed correctly. If required, you can modify the default behavior by using the OptOutEdgeToEdgeEnforcement application property or by updating your application's design to accommodate edge-to-edge layouts.