After being an iOS developer for almost an year, migration to Android has been delightful. One of my first (and infact last) complaint with Android programming has been its “half-baked” Visual layout editor in ADT.
While writing XML to generate UI components is a good move, its the barrier in rapid development. Google has done a good job in developing powerful SDK, but couldn’t manage to build an editor that could do drag N drop of visual components like Apple does on iPhone SDK. If only drag n drop had been missing, it would still have been acceptable. But, practically it gives up as your layout grows (curse those NullPointers, ArrayOutofBounds).
The good news is just around the corner, ADT is being upgraded to 8.0.0. So what’s coming? here’s the list from the official release plan:
- Support for true debug build. No need to change the value of debuggable in the Android Manifest. Incremental build will automatically insert debuggable==true while using the “export signed/unsigned application package” will not. If debuggable=true is set, then release builds will actually do a debug build.
- Automatic Proguard support in release builds. Only need to have a proguard.config property in default.properties that points to a proguard config file.
- Completely rewritten Visual Layout Editor. This is very much a work in progress.
- full drag and drop from palette to layout for all Layout classes.
- Move widgets inside a Layout view, from one Layout view to another and from one layout file to another.
- Contextual menu with enum/flag type properties.
- New zoom controls.
- New HierarchyViewer plug-in integrated in Eclipse.
Thats a massive set of improvements heading Android developers.
Contextual Menus: finally, clicking indivdual components brings up menus with attributes, action, parameters. So there’s a good chance that we may stop instinctually going for the xml tab and try out the renamed “graphical layout” tab again.
Relative Layout alignments: When dropping into a relative layout, it graphically shows you how it fits relative to its neighbors as shown below:
Drag & Drop: You can now drag and drop across separate layout files, and not just individual items but viewgroups as shown here where you can create a new landscape layout for tablet form factors by dragging and dropping your smaller portrait layout into the right side of your new layout.
Code obfuscation: Also, now when you create a new Android project you’ll notice a new file, proguard.cfg. You can easily produce obfuscated apks of your closed source projects ( for closed source freeks). Specify it in the default properties and it will be happen when you export a signed/unsigned apk (or ant release on the command line). Chances are this will go automatic by the time its released.
There are lots of other cool stuff too: e.g. you can double click on a line in a stack trace in the logcat view now to get to the code.
I believe this ADT 8.0 should release along with Gingerbread or even earlier. If you wish to have an early preview, point your terminal GIT repo and buid it for yourself.