Action Launcher adds an API for AdaptiveZoom

Chris Lacy
Action Launcher
Published in
2 min readFeb 2, 2018

--

Action Launcher’s v33 update introduced AdaptiveZoom, an enhancement for adaptive icon that sees an app icon naturally animate towards the center of the screen as the app loads:

Numerous developers have reached out asking for a means of fine-tuning the AdaptiveZoom animation for their apps. Action Launcher’s v34 update (currently available in public beta) introduces such an API.

How does the API work?

By specifying <meta-data> tags for an Activity’s definition in AndroidManifest.xml for the AdaptiveZoom behaviors you wish to tweak for your app.

What behavior does this API expose?

All customizable attributes are optional. Modify the elements you see fit.

Reveal color (optional)

The single color that Action Launcher uses in its reveal animation.

<meta-data android:name="com.actionlauncher.adaptivezoom.reveal_color"
android:value="@color/launch_color" />

Note: If an app does not specify a reveal color, Action Launcher will pick an appropriate one extracted from the app’s adaptive icon background layer.

Reveal icon drawable (optional)

The image AdaptiveZoom ‘zooms’ towards the center of the screen.

<meta-data android:name="com.actionlauncher.adaptivezoom.reveal_drawable"
android:resource="@drawable/ic_launcher_foreground" />

Note: If an app does not specify a reveal drawable, Action Launcher will pick an image to display. Ideally this will be the foreground layer of the app’s adaptive icon, but at times may be the entire app icon.

Reveal icon size (optional)

The size (which Action Launcher converts to dp units) that the reveal icon drawable will ultimately display on screen.

<meta-data android:name="com.actionlauncher.adaptivezoom.reveal_image_size_dp"
android:value="160" />

FAQ

Is there a sample app?

Absolutely — see this AdaptiveZoomDemo project.

Why would an app wish to control the AdaptiveZoom behavior?

The most common reason is if your app uses a “branded app launch screen”, and would like to ensure AdaptiveZoom integrates seamlessly with it.

--

--