Fork us on GitHub

Toolbar Default, Millimeter Sizes & Weekly Releases

We are moving to a faster/more organized update cycle
Post Image

Toolbar Default, Millimeter Sizes & Weekly Releases

Starting with the next update of Codename One (later this week) we will switch Toolbar on as the default for all newly created projects. This doesn’t mean much for most of us as existing projects won’t be affected, however if you are creating a new project this means you won’t need to create a Toolbar for every Form and that we won’t have to deal with as many issues related to the native Android title.

This is clearly the way to go, as we look at modern mobile apps even from Google itself. They use the side menu for almost all apps and eschew the overflow for most usages (e.g. gmail). By focusing on the Toolbar we can further refine it and add better support for its appearance within the templates.

As part of that we already refined the overflow button a bit and the default padding for the TitleArea etc. We will probably add additional refinements e.g. the drop shadow for the Android theme.

Millimeter Sizes

We added a new API to handle millimeters to pixel conversion: Display.convertToPixels(float). This API accepts a floating point value which is more convenient than the existing integer based API. Ideally we’d want this to propagate as an option into the designer tool but that is not trivial as it requires a change in the resource file format. It’s something we plan to do as we move forward though.

We also added the ability to create a material icon with an explicit millimeter size: FontImage.createMaterial(char icon, Style s, float size)

This is useful as the current approach of picking the size of the style font doesn’t always work as we’d want especially in cases where we want the icon to be larger than the text.

Docs Update & Weekly Releases

While we made a lot of progress with the docs I’ve slowed down the server updates for them. The main issue is that we are moving too quickly with the docs and don’t have time to release minor changes that we make to the API’s.

E.g. newer samples in the docs already use the API’s mentioned above as well as some other newer API’s. This causes a situation where developers can’t compile our samples when working against the latest version. One solution for this is to make a weekly release schedule instead of our current "ad hoc" updates which are problematic. This way we can both update the docs and the binary in the same time and also have a clearer schedule of library updates (notice that library updates don’t necessarily include a plugin update).

So right now the tentative plan is to have a weekly release every Friday to include all the stuff we worked on over the week. This week we’ll probably release a bit earlier due to the plugin update but this should start next week.

Share this Post:

Posted by Shai Almog

Shai is the co-founder of Codename One. He's been a professional programmer for over 25 years. During that time he has worked with dozens of companies including Sun Microsystems.
For more follow Shai on Twitter & github.