I thought every developer knew about Android Asset Studio. However, I was taken by surprise lately, when I found otherwise. Here’s why I think every developer should know about Android Asset Studio; even if they don’t use it day-to-day.
Back some time, dealing with Android resources was a monkey job indeed while developing an app. You had to get a creative comp for everything, then resize it into different device density and place in appropriate folders. After which, you needed to place them inside your project folder. Personally, I felt this was a stupid chore that I had to go through every time. Android Asset Studio solves this problem in a big big way.
This article is very long but in a simple one line, if you’re a developer and have a hi-res copy of the graphics that you’re going to put in your app, Android Asset Studio will do all the resizing, cropping, color overlay and generation of different types of icons required. You don’t require your creative guys to do the slicing and dicing of these graphics anymore.
Below is the distribution of category and each tool under the site. Subsequent section is going to get too big so TL;DRs are here as well
- Icon Generators: Generate Icons for all purposes of your app. The generators give you options to customize every detail that matter (except editing the graphics). Generators also take care of the different API level guidelines when generating
- Other (Misc Asset Creation Tools): Some nice utilities to generate assets for creative designers (Device Frame generator) and Simple Nine Patch Generator for creating your 9-Patch drawables easily
- Community Tools: Community created generators for creating Action Bar and Holo themes. Action Bar Style Generator creates themes for both Android and Action Bar Sherlock libraries and gives options to customize everything with a preview. The Holo Colors Generator lets developers create a color theme for every holo component they select.
Now, the details of Generators
These must be the most used part of the whole site. I use them pretty frequently. The practical usability for which I repeatedly go to this section is that I get a set of standard icons pretty handy and I get them correctly sized. Even if a developer knows the correct sizes and ratios and has the best software to do image processing, an automated tool is better, right?
Let’s have a look at the common features before we see on the individual generators
This field lets developers generate their icon on the basis of an Image, a Clipart (pre-defined android icons) and Text. Pretty much everything a developer will need. Image and Clipart are the ones I use most of the time. Make sure you have a very good resolution image when using Image option. SVG is best. Text is something I don’t use since output is not so much neat and likely to be cool with a well-designed app. I also wish Google purchased or designed a load of icons and gave more options in Cliparts. There are some very obvious icons missing (like “Logout”)
A feature that lets developers trim out the whitespace around the drawn section of a graphic they’re using. I like my icons trimmed so that they space out evenly from adjacent elements. However, there could be a possibility that someone wants to use a non-trimmed icon in situations when they’re tiling things together.
Need extra whitespace around the graphic? Add some padding. Simple! If you go below zero you can trim out some portion of your graphic as well.
All the cliparts (and the text) in the tool are monochrome. Color slider lets developer add a tint of the color that they can select in the adjacent selector. Not just monochrome but the color tint can also be added to multi-color icons
The tool very nicely creates an hierarchy of folders inside ‘res’ that are required to have the associated icon inside them (drawable-hdpi, drawable-mdpi, drawable-ldpi etc). Because the file name inside them need to be the same, the tool lets developer decide what the file name would be. Although very trivial and obvious, I like this feature very much. Had I been doing the same drill in photoshop or any other editor, I had to export the correct size inside correct folder and this would have been another chore that tool lets me bypass.
Icon Generator and their individual features
If you have a high-res version of your logo (512×512 or larger), this tool will do everything for your app release and launch with final icon in place. That’s right, in addition of generating one icon each for every size required in your app, this tool also creates a web hi-res for Google Play release process. On top of that, it lets you generate the icon in a particular shape (square, circle) and also lets you specify a background color.
Don’t memorize or bookmark the reference of the icon sizes required for action bar and tab icon anymore. This generator does the resizing and slicing. You can also specify which theme it’s going to and the generator will make it dark or light depending upon the background color.
People who do development for old versions of Android like Froyo and below will remember that notification icon design guidelines were different for those versions. Here, this generator takes care of that alongwith the other common features. When you download the generated files, they are neatly organized into folders that get selected for each API levels.
Has all the common features and one more: Size. This generator is to just create an icon for different screen densities and you are free to decide what size in dp. Very handy I’d say. Saves you from resizing a file in three or four different sizes and put in the respective folders
The Action Bar and Tab Icon generator is good for the styles used in the new versions of android (3.0+). But developers will remember that we used a different TabView and TabHost earlier that required them to slice graphics in its own required format. This tool comes handy in those situations.
Nothing special here, this generator generates the icon for placing in the menu pane for devices before 3.0
This is mostly for creative designers. The generator simply gives them the option to download a shiny snapshot with shadow and glosses for composing their mockups.
Google also has their own Nexus version of Device Frame Generator but I prefer this one because I get more options with devices and other render tweaks.
Android Platform Tool’s 9 Patch generator is a torture to developers if you ask me. Poor interaction with the tool, thin 1px editing area make it really bad for the developer to do anything on it. On top of that if I need to edit something I did once already, I don’t even have words to describe my grief at that moment.
However, this is better. Far better in fact. What I like here is the editing canvas. It’s far more usable to have draggable regions for setting content area and padding than drawing a 1px line that wasn’t tolerant to off-canvas mouse drags. You also get to change the background grid color if your drawable is not making contrast against it. Another good thing here is that since the entire site is build on html5, you can just zoom in your browser to see tiny parts on the canvas.
Time for some stuffs from community.
If you’re a developer who likes to keep up with Android Design Guidelines, you must be supporting the Action Bar and all the troubles with faking it on pre 3.0 devices. This generator reduces some of those pains by providing theme generation capabilities both for Android (including Support) Libraries and the Action Bar Sherlock libraries. This generator gives you all the customization options and allows you to choose colors for all the items. The result is a nicely generated collection of styles, colors and drawables that you can simply put in your project for instant theming of your app.
The generator also gives a very neat preview of how things will look on the app and also thumbnails all downloadable drawables right in the bottom of the page for a detailed preview of what’s coming
Phew! If I haven’t lost you yet, you’ve just been taken through why I love Android Asset Studio and use it in each of my project. I hope you will find some productivity benefits in using this too.
Please let me know in the comments, if I have missed anything