Corona status bar bug == problem implementing Material Design for Android L

As most of you probably know, Google released the Material Design specifications for apps (including Android L apps) and web sites last month. That specification says that the status bar should be transparent and tinted in the app’s color palette: “The status bar should be the darker 700 tint of your primary color.” http://www.google.com/design/spec/style/color.html#color-ui-color-application

Corona’s API docs claim that developers can select display.TranslucentStatusBar with display.setStatusBar() for both Android and iOS devices, which would let us follow Google’s design guidelines:

http://docs.coronalabs.com/api/library/display/setStatusBar.html

But it doesn’t actually work. I just tested it a minute ago using Android 4.4.4 on a stock Nexus 5, and display.TranslucentStatusBar gives me the standard dark status bar. (Translucent status bar *does* work on iOS.)

A bit of poking around in the forum shows the Android bug was reported here in April with no response from Corona staff:

http://forums.coronalabs.com/topic/46871-setting-displaytranslucentstatusbar-in-android-kitkat44/

The Android docs say the native API lets you “make the system bars partially translucent with new themes, Theme.Holo.NoActionBar.TranslucentDecor and Theme.Holo.Light.NoActionBar.TranslucentDecor” http://developer.android.com/about/versions/android-4.4.html#UI

Can anyone respond with a date for when this bug will be fixed and the Android API exposed properly? Google is placing significant emphasis on Material Design, and it would be a deal-killer for some of us if we can’t abide by their design specifications for Android apps.

Hi @corona273,

We do not yet support translucent status bars on Android. There’s no way to display translucent status bars in older versions of the OS (<=4.3), so this feature would be fairly limited to newer Android devices running 4.4. However, we are aware of this, and hopefully will offer support for it in a future build.

Take care,

Brent

Brett,

Thanks for your reply.

You may have seen the flurry of headlines talking about how developers are racing to adopt Material Design. Here’s one example from over the weekend:

http://www.androidheadlines.com/2014/08/featured-top-10-material-design-apps-android.html

“Material Design is the new hotness, and with the sooner-than-later release of Android L this Fall developers have been scrambling to get their apps updated to the new design language in time for the release of Google’s latest OS update…”

Unfortunately, until you fix the translucent status bar bug, no Corona app will be able to implement Material Design properly. That means Corona developers won’t be featured on the Google Play store, and that our users will wonder why our apps don’t look “right” on Android.

Do you have a timeline on when you’ll make this change? It should be very easy to do. (And of course if a translucent status bar is requested on older devices, the SDK can just fall back to the current behavior…)

Thanks!

This will be in build 2417.  It will only work on kitkat or above devices.  On devices below kitkat it will revert to the old behavior of changing to the default status bar.

Yay! Thanks! This will be very helpful.

And for other folks following this thread, I just noticed that build 2417 is out:

https://developer.coronalabs.com/corona-daily-builds/summary

Hi @corona273,

We do not yet support translucent status bars on Android. There’s no way to display translucent status bars in older versions of the OS (<=4.3), so this feature would be fairly limited to newer Android devices running 4.4. However, we are aware of this, and hopefully will offer support for it in a future build.

Take care,

Brent

Brett,

Thanks for your reply.

You may have seen the flurry of headlines talking about how developers are racing to adopt Material Design. Here’s one example from over the weekend:

http://www.androidheadlines.com/2014/08/featured-top-10-material-design-apps-android.html

“Material Design is the new hotness, and with the sooner-than-later release of Android L this Fall developers have been scrambling to get their apps updated to the new design language in time for the release of Google’s latest OS update…”

Unfortunately, until you fix the translucent status bar bug, no Corona app will be able to implement Material Design properly. That means Corona developers won’t be featured on the Google Play store, and that our users will wonder why our apps don’t look “right” on Android.

Do you have a timeline on when you’ll make this change? It should be very easy to do. (And of course if a translucent status bar is requested on older devices, the SDK can just fall back to the current behavior…)

Thanks!

This will be in build 2417.  It will only work on kitkat or above devices.  On devices below kitkat it will revert to the old behavior of changing to the default status bar.

Yay! Thanks! This will be very helpful.

And for other folks following this thread, I just noticed that build 2417 is out:

https://developer.coronalabs.com/corona-daily-builds/summary