Darkion Avey
Darkion's Blog © 2011 - 2017
How to use Theme DIY
28 January 2015
ThemeDIY is an app that generates CM12, and CM13 themes on-the-fly from within Android devices, without the need of a PC.
This post is a guide on how to create a theme using ThemeDIY
This app is designed for Android 5.0+ devices with CM12+ theme support only, and doesn't support other Android devices/versions (e.g. Samsung TouchWiz)

Sharing themes license

You can:

• Publish themes on Play Store (as free apps)
• You can remove ThemeDIY watermarks
• You can modify the theme

You can't:

• You cannot earn money from the theme you made. This includes but not limited to: ads, in-app purchases, donations, or publishing the theme as paid app
• You cannot use one of your themeDIY themes as a template for your paid theme
No exception is given. If you saw a theme made by themeDIY where the owner claims that he/she had been given permission, please report them here

Reporting bugs

If you've encountered a bug, please report it in the "bug reporting" section of the G+ community. Alternatively you can send me an email by using "report bug" option from the app. Please don't forget to mention the following details:
• The ROM you're using.
• Provide screenshots.
• Provide LogCat if possible.
-Be as detailed as possible, email such as "please help app doesn't work" without specifying which part doesn't work will be ignored

How to get it

You can get the app from Google Play store. Download from the Play Store here.

Make themes

Once you've launched the app, you will be directed to the app's home view. Home view has three elements, the big white "add" button at the bottom which allows you to build a new theme. The three-dots menu at the top-right corner which has bunch of options. And the main themes showcase view at the center, which shows saved themes according to the date they were created.
Each card in the showcase view has different indicators:
-Theme's name at the bottom.
-Theme's preview at the center of the card. Preview differs depending on the type of the theme. By default, it shows the theme's wallpaper
-Preview of what the theme would look like. The preview isn't precise presentation of the actual theme.
-Action bar at the bottom of the card.
-Tick icon which lets you build and install the theme. If the theme is already installed, long pressing the icon will take you directly to the theme manager
-Share icon which lets you can share the theme's APK. Only visible when the theme is built.
-Delete button to delete the theme, and uninstall it. Long-pressing the icon will uninstall the theme without deleting the theme from themeDIY.

To get started, press the "+" button. You will be directed to the "editor" screen, which lets you add, or edit themes.

Editor screen


Enter the name of your theme. In older versions of the app, this will be used as APK file name, too, hence no spaces or special characters are allowed. In newer versions, the name will be different from the APK name, and special characters are allowed, including emoji

Theme type

You can define what kind of theme you want to create, by default, all elements are enabled (styles, wallpaper, lockscreen wallpaper, bootanimation, navigation bar icons, fonts, sounds, icons). Defining a specific type for a theme will reduce the APK size.
You will notice that theme preview will change depending on the type.

Load a CM12 theme

This option is being revised, you might not see it in your current themeDIY version


You can customize the theme's elements, colors, and icons in this section. There are four main tabs for customizing theme's style: elements, default colors, and icons, & backgrounds.


Action bar shadow: this option let's you choose between default Android style (shadow), and flat design (no shadow). This will apply to different apps.
Notification toggle size: pick 'large' for bigger toggles icons in notifications area
Notification area style: this option let's you choose between Android Lollipop and Android Nougat notification design.
Statusbar icons color: (available on Android 6+ (CM13+)). Choose 'inverted' option for black statusbar icons (clock, wifi, cellular, etc.. at the top of the screen)
Ripple color: choose between white, or colored touch feedback effect
The rest of elements have animated previews and are self-explanatory

Default colors

• The first option is "generate colors from an image". This uses Google's Pallet color extraction library, which is not always accurate. You can use it as a head-start for defining colors from an image. The image should contain few homogeneous colors for best results. Upon selection, you will either receive a green tick (which indicates successful import), or red cross (which indicates otherwise).
• The second option is "Browse for DIY color palette", pallets are great alternative if you want to share the theme, as they are more dynamic and are much smaller in term of size. They are found in /sdcard/ThemeDIY/(theme)/(theme).themeDIY.
Below them are actual theme's colors. They are separated into two sections, system colors, and notification area colors


Here you can pick from built-in icon packs for settings, and for statusbar


Here you can define image backgrounds for some elements such as action bar, notification header, quick toggles background, notification entry background. You can also customize the default analog clock widget

Per-app modifications

This tab lets you change colors for individual apps, as well as disable them from being themed. Some apps have more options to offer such as the settings app which lets you pick settings icons from gallery.
You can tap on the rest icon at the top-right corner of the screen to reset the per-app modifications for a specific app. A confirmation pop-up will be shown.
Advanced mode option lets you see all the colors for this app, including the non-standard colors mentioned above.


In this section, you can browse TTF or OTF fonts for your theme. It is essential to import bold, regular fonts with their italic variants since those fonts are widely used in Android system compared to, for example black and thin fonts.
Upon the successful picking of a font file, a preview of the font will be shown underneath its name, and reset button will be shown

Soft keys

Soft keys, in case you don't know, are used to navigate UI in phones without physical keys, e.g. Nexus phones
You will notice a preview at the top of the screen with five soft keys, being back, home, recent apps, menu and search. Tap on any to pick images from gallery, alternatively you can select one of the predefined icon packs below the preview section.
Images must be in PNG files.


In this section, you will be able to define custom audio files for your theme. This includes ring tone, alarm, and notification chime. Following same style as other sections, you will see preview of your selection upon successful import

Wallpaper & lockscreen background

Browse for JPG (preferred) or PNG backgrounds that you wish to use as wallpaper or/and, lockscreen background for your theme.

Boot animation

Browse for bootanimation.zip file that you want to use. Please be careful in your selection. If you used faulty zip, your phone will go into bootloop