make your own Android themes
Start by downloading the Crazy Theme Template
This theme template will be compatible with:
Crazy Home Pro
Crazy Home Lite
ADW Launcher EX
Open Home 6
91 Panda Home
91 Panda Home 2
1. Once the template is downloaded, extracted it to your Android workspace and launch eclipse
2. Right-Click on the empty white space inside the Package Explorer window on your left and click on "Import..."
3. Choose "Existing Projects into Workspace" and click Next
4. Browse to your workspace and highlight the Crazy Theme Template folder you just extracted. Click Ok and then click Finish.
5. You should now have the template added as one of the projects inside your Package Explorer.
We are going to leave this project as the original template and make ourselves a copy for us to make our own and start modifying.
Copy the Crazy Theme Template from the Package Explorer window by either selecting the project and pressing CTRL+C or right-click it and click Copy
Paste the project by pressing CTRL+V or right-click the empty white space in the package explorer window and click Paste
Enter the name for your new theme in the popup window that appears
6. The first thing we'll do now is rename the package of the new theme. The package is what uniquely identifies your app/theme, so every app or theme will have to have its own unique packagename.
Currently, the package name is set to mobi.yourname.crazythemetemplate, it can be changed to anything that complies with the naming syntax(no spaces, etc), but I'd suggest mobi.yourcompanyname.yourthemename
You can either select the package and press ALT+SHIFT+R to do a rename or you can right-click the package -> refactor -> rename
In the window that pops up, change the package name to your new package name. Check ALL 4 checkboxes, these will automatically change the package references in all the files in the project. Click Preview.
Now UNCHECK the first, second, and last checkbox "Android Package Rename". Normally, this wouldn't be an issue, but it seems there's a bug in eclipse, where it injects a typo that screws stuff up if you leave this checked. Click Ok.
Congrats, you now have your very first theme project. Now its time to add your own images to this theme.
Customizing Your Theme
Here's a breakdown of the theme structure. If you look at your project in the Package Explorer in eclipse, you'll see a list of folders, there are only a few that you need to be concerned with as a themer. Starting from the top, they are:
This is where you can include a custom font fiile for use with Crazy Home. If you'd like to include more than one for the user to choose from, you can name the second font "themefont_2.ttf" and increment so forth
*Please test your fonts thoroughly and make sure the font files are not too large. Large fonts have been known to cause unexpected behavior.
This is where most of the images are located. Replace the images here with images of your own, but KEEP THE SAME FILE NAMES.
clock_dial.png - clock dial - not all home screen apps will know what to do with this, but Crazy Home will
clock_hour.png - hour hand
clock_minute.png - minute hand
clock_second.png - second hand - this is only for Crazy Home and is entirely optional, the clock will skin even without this, it'll just not include the animated second hand
com_android_alarmclock_com_android_alarmclock_alarmclock.png - clock icon
com_android_browser_com_android_browser_browseractivity.png - browser icon
com_android_calculator2_com_android_calculator2_calculator.png - calculator icon
com_android_calendar_com_android_calendar_launchactivity.png - calendar icon
com_android_camera_com_android_camera_camera.png - camera icon
com_android_camera_com_android_camera_gallerypicker.png - gallery icon
com_android_camera_com_android_camera_videocamera.png - camcorder icon
com_android_contacts_com_android_contacts_dialtactsactivity.png - dialer icon
com_android_contacts_com_android_contacts_dialtactscontactsentryactivity.png - contacts icon
com_android_email_com_android_email_activity_welcome.png - email icon
com_android_im_app_com_android_im_app_chooseaccountactivity.png - im icon
com_android_mms_com_android_mms_ui_conversationlist.png - mms icon
com_android_music_com_android_music_musicbrowseractivity.png - music icon
com_android_settings_com_android_settings_settings.png - settings icon
com_android_vending_com_android_vending_assetbrowseractivity.png - market icon
com_android_voicedialer_com_android_voicedialer_voicedialeractivity.png - voice dialer icon
com_google_android_apps_maps_com_google_android_maps_mapsactivity.png - maps icon
com_google_android_gm_com_google_android_gm_conversationlistactivitygmail.png - gmail icon
com_google_android_talk_com_google_android_talk_signinginactivity.png - google talk icon
com_google_android_voicesearch_com_google_android_voicesearch_recognitionactivity.png - voice search icon
com_google_android_youtube_com_google_android_youtube_homepage.png - youtube icon
drawer_bg.png - this is the app drawer background (shown behind your big list of apps)
icon.png - icon for your theme
logo.png - your company icon, will be shown in the info screen
theme_wallpaper.jpg - needed for ADW
wallpaper.jpg - needed for all other home screens
wallpaper_<2,3,4.....x>.jpg - optional additional wallpapers, not all home screens will know what to do with these, but Crazy Home will.
Additional Icon Support (Crazy Home and ADW Launcher) In addition to the above files in drawable-hdpi, you can also add additional icons to skin various third party apps. Follow the naming convention described here:
dock_bg.png - this is the image shown behind the dock tray when the phone is in landscape mode
dock_bg.png - this is the image shown behind the dock tray when the phone is in portrait mode
strings.xml - this file contains several bits of info about your theme that you will need to modify. Change the following:
app_name - this is the name of your theme
instructions - no need to touch this
email - this is your contact email, change this so users with issues can email you
welcome_message - this is the text that is shown at the top of the info screen - change this to your own message
And that's it! Connect your phone to your computer and right-click on your project -> Run As -> Android application to load it onto your phone and test it out!
If your phone isn't setup for development or you don't have the proper drivers installed, please look to the many tutorials and guides online to help you with that. I won't go into those setup details here. Besides, those frustrations are a rite of passage for all Android developers :P