Remove All Ads from XDA
Honor 9 Lite

[Reference] Interactive Phone Modification [GUIDE]

6,059 posts
Thanks Meter: 8,409
By pstevep, Senior Moderator / Recognized Themer / Teh Pony Overlord on 26th October 2011, 10:19 PM
Post Reply Email Thread
Have you ever looked at your phone and thought: "God, Sense looks like anus", or "I don't want my phone to look like everyone else's".

Have you ever thought to yourself: "I bet that I can do more to make my phone look KICK BUTT". But you had no idea where to start, or what to do, and are afraid to ask someone for fear of looking like an inconsiderate n00b.

Well, this is the place for you!

What we have done here is, create an environment to which both n00b and experienced "KICK BUTT" modifiers can coexist and help each other. You will find in this "guide" (whatever you want to call it) numerous tutorials, tips, tricks, and bleeding edge ideas for you to make your android phone the coolest on the block.

We literally have gathered some of the greatest minds in android modification, and locked them in cages with nothing more than a phone and a laptop. We have a guard that stands at each cage and pokes them with one of those electronic cow prods to make sure they stay attentive.

Ok. Not really. What we do have though, literally is some of the greatest minds in android modification and development. They frequent this thread for the camaraderie, the respect, the ideas, and to help each other become better at their trade. This thread has spawned some great mods for android, and it will continue to do so.

There really is only one rule, don't be a demanding little DOUCHE. You can ask for help, even ask if someone has already done and might be willing to share, but the first time you come in here with a sense of entitlement we will make your life a living hell and you will receive no help. Everyone in here is helpful, and generally fun to be around. So come in and hang out for a bit, you might just learn something.


I may be the OP of this thread, but i know probably the least, I would like to take second and thank some of the people who make this thread what it is today.

- team d3rp: il Duce, ranger61878, thoughtlesskyle, vanessaem, dkdude36, jdeloach, SteelH, fdb8231, Ajthescot, and me: I am fortunate enough to have some of the coolest people on this little team that I am a part of and I am truly thankful for their friendship.

- team Bad Seed: fernando sor, jeffsanace, and silverxbv2: there are a lot more of them, but those are the regulars that frequent this thread. They have one of the most KICK BUTT teams out there, and the input they provide is legendary.

- tommytomatoe: this is the guy who will literally make you crap your pants when he shows up, he is that good.

- Vinchenzop: a guy who is on the same level as ole' tommy up there, he will blow your mind.

- steal25: this guy is crazy good, always helping people, and his wealth of knowledge is insane.

- mayfield103: a themer's themer, you won't hear from him for a couple days and then he shows up with something makes your head spin.

- thesparky007: another guy who makes some great stuff, and contributes like crazy in this thread.

- dased14: this guy has done some super cool stuff, you should see his boot animations.

- knightwolf123: this guy literally has a thread with 17 skins in it, that includes a guide to make skins. Tell me that's not over the top awesome.

- hockeyfamily737: unofficial d3rp, specializes in MIUI, dude does some good crap.

- dropzeroc: one of the newest people to this thread, and already he is bringing the heat.

- reaper24: another newcomer, who is already sharing what he has and producing some great stuff.

- Max_Pain, Papa Smurf151, gomorrah, triscuit1983, -shift-: these are some of the other guys that come in here from time to time, each one of them epic in their own right.

If there is anyone I forgot, I apologize, I will get you in. I blacked out a little bit, I didn't realize how many people are actually involved here, this is amazing. Thank you all for your contributions, it means a ton to me and to this community.


You will find in post 2 some of the linked posts to guides, tutorials and walk throughs, almost all written by the people in this thread. I can not explain enough the amount of knowledge in this thread. And again, We are here to help, not to do it for you, but to help you learn to be awesome.
The Following 93 Users Say Thank You to pstevep For This Useful Post: [ View ] Gift pstevep Ad-Free
26th October 2011, 10:20 PM |#2  
pstevep's Avatar
OP Senior Moderator / Recognized Themer / Teh Pony Overlord
Flag A place just beyond throwing distance
Thanks Meter: 8,409
Donate to Me
Ok here is a list of guides that are throughout this thread, as well as ones that are linked throughout the thread. If there is a guide you think should be linked post the link in this thread and we will look at getting it added. Thanks to everyone who is helping out and typing up guides for this and just helping with general questions.

Guide/Tutorial Links
Fernando Sor's "text color guide"

pstevep's "m10 and you (a love story)"

Vinchenzop's "metamorph guide"

Average Joes' Notification Dropdown Text Color Changes/Status Bar Changes (Sense 3.0) Tutorial

il Duce's post linking multiple tutorials bunch of links, just check it.

theimpaler747's Want to learn how to theme [Guide]

KBanause's Guide for Android 2.3 for aosp

freeza's transparent notification pulldown guide

tommytomatoe's What You Know about Rosie

platinumandroid's themebuilding101.txt

steal25's adb tutorial links and skin tutorial

eg1122's guide to sense 3.0 editor

hockeyfamily737's Miui Theme Guide

dkdude's .9.png editing guide

fernando sor's hex editing guide

eg1122's change dialer text doc

whiterider13's odex info

fernando sor's custom background or text tutorial

eg1122's how to setup sense 3.0 editor

slayer69's .9.png doc

Papa Smurf151's .9.png addendum

steal25's How to zipalign

steal25's twrp 2.0 theme info

dased14's bootanimation guide

tommytomatoe's sense transparency guide

knightwolf123's Skins thread and Skin guides

genetic_shift's lockscreen background png name

jeffsanace's M10 modification tutorials

dropzeroc's Guide to enable wallpaper scrolling and disable carousel animations

dropzeroc's mod for wallpaper scrolling and disable carousel animations


- Papa Smurf151's {Dev Tools} Everything Android
- tommytomatoe's Android Utility for linux/mac
- Papa Smurf151's version of apk manager
- links to Xultimate
- 7zip - I use it all the time, you can alter zips quickly and easily.
- M10 Tools - If you are going to theme sense 3.0 at all, you will need this.
- Notepad ++ - Essential for editing xmls, scripts, etc.
- gimp - Great tool for editing images, especially if you don't want to pay for photoshop.
- APK Tool - For decompiling and recompiling apks.
- APK Manager - It incorporates APK Tool, but makes it a little more user friendly.
The Following 51 Users Say Thank You to pstevep For This Useful Post: [ View ] Gift pstevep Ad-Free
26th October 2011, 10:20 PM |#3  
pstevep's Avatar
OP Senior Moderator / Recognized Themer / Teh Pony Overlord
Flag A place just beyond throwing distance
Thanks Meter: 8,409
Donate to Me
and another
The Following 11 Users Say Thank You to pstevep For This Useful Post: [ View ] Gift pstevep Ad-Free
26th October 2011, 10:25 PM |#4  
ch1naski's Avatar
Senior Member
Flag Los Angeles
Thanks Meter: 2,517
Reserved for me to say "Thanks, pstevep!"
This is will come in very useful to code-tards such as myself.
Warm & cozy.
The Following 4 Users Say Thank You to ch1naski For This Useful Post: [ View ] Gift ch1naski Ad-Free
26th October 2011, 10:41 PM |#5  
dased14's Avatar
Senior Member
Flag cincy,ohio
Thanks Meter: 7,147
Donate to Me
Nice, added to fav list

<insert cool signature here>
26th October 2011, 10:45 PM |#6  
il Duce's Avatar
Inactive Recognized Developer / Recognized Themer / Retired Forum Moderator
Flag Twin Cities, MN
Thanks Meter: 16,463
Donate to Me
hopefully some people come in here that know what they're doing, cuz I'm a noob
The Following 10 Users Say Thank You to il Duce For This Useful Post: [ View ] Gift il Duce Ad-Free
26th October 2011, 10:47 PM |#7  
pstevep's Avatar
OP Senior Moderator / Recognized Themer / Teh Pony Overlord
Flag A place just beyond throwing distance
Thanks Meter: 8,409
Donate to Me
Originally Posted by il Duce

hopefully some people come in here that know what they're doing, cuz I'm a noob

lol.. thats why i have asked for some people other then ourselves..
26th October 2011, 11:00 PM |#8  
fernando sor's Avatar
Recognized Themer
Flag north of the wall
Thanks Meter: 5,626
text color guide
i will use this post to cover text color changes along with a few other tidbits.

although a tutorial on apktool has not yet been posted on this thread there are numerous threads on xda concerning it. this is slightly more advanced then image swapping so i wouldnt make this your first stop on learning how to theme. if you are new i would check out the thread posted on image swapping and the use of 7zip.
with that said assume that all direction on system and app text color is assuming you have decompiled your apk

oh and fyi im not big on certain punctuation. my apologies to the ocd crowd

first rule!

as the op states this thread is a guide. i will not do the work for anyone. if thats what you want then your on the wrong thread. i want to go in a different direction so im scaling back on the work ive been doing. it would be nice tho to pass some of the apps i do off to someone eventually.

a few tips

*a.o.s.p - android open source project
*apk - android application package file
*xml- Extensible Markup Language
*htc sense- an overlay library or skin htc builds into android operating software.
*fusion- a library htc has built into sense for the purpose of applying skins

the basics

*all android applications have a manifest. it sets permissions, applies themes, lists the package name and package icon and version code.
*unless it is framework apk's all applications will have resources (res) and sources (classes.dex otherwise known as smali when decompiled). the sources for framework-res.apk and are located in the framework folder of each rom. services.jar is the sources for framework-res and is the sources for
* each compiled application also has the file resources.arsc. this when decompiled displays the values folder. this is very important as it contains a few crucial xmls. i am not listing all just the ones we will be dealing with. those are-

*drawables ( this is not present in every apk. please dont confuse this with the drawables folder in res)

my motivational speech
this can be daunting at first but stick with it! it will begin to make sense.

the areas that usually contain text color in an apk

*the res/colors folder- this is a folder not an xml and not to be confused with the colors xml in res/values
*res/drawables- though rare some text color is at times in xmls in this folder
*res/layout-land (landscape xmls)
*res/values/styles-this is very important xml and often times under utilized

* on rare occasions the raw folder may contain a decompiled file that contains code. gmail is an example of this.

and of course some text color values are found in smali. i will provide some tips and examples further on concerning this.


RGB red green blue. this is very important to know.

HTML colors are defined using a hexadecimal notation (HEX) for the combination of Red, Green, and Blue color values (RGB).

The lowest value that can be given to one of the light sources is 0 (in HEX: 00). The highest value is 255 (in HEX: FF).

HEX values are specified as 3 pairs of two-digit numbers, starting with a # sign.

when we are assigning color values for android xmls we need to assign an alpha value which is also a two digit code that precedes the six digit hex value.

so for example straight android blue would be #ff0000ff
our alpha value (FF) sets the transparency with ff being zero transparency. because the red position and green position are 00 our code assigns the color blue because the blue postion or hex is ff

an example of a softer blue and a code i have used for a while is #ff4283d8.
42 is the green value. the lower the number the less its influence on the value.

here is a link to a webpage where you can experiment with different values

applying the text color value in the res/color folder xmls

when you are applying a color value in an xml in the res/color folder you will notice that most xmls will reference a color value in res/values/colors.xml

here is an example in framework-res- res/colors/primary_text_dark.xml

<?xml version="1.0" encoding="utf-8"?>
<item android:state_enabled="false" android:color="@color/bright_foreground_dark_disabled" />
<item android:state_window_focused="false" android:color="@color/bright_foreground_dark" />
<item android:state_pressed="true" android:color="@color/bright_foreground_dark_inverse" />
<item android:state_selected="true" android:color="@color/bright_foreground_dark_inverse" />
<item android:state_focused="true" android:color="@color/bright_foreground_dark_inverse" />
<item android:color="@color/bright_foreground_dark" />

every color value listed is pointing to the xml in res/values/colors.
this is pretty much the primary white text for android. if you look in res/values/color/bright_foreground_dark.xml the text value is #ffffffff

you can change the referenced text color in res/values/color or you can do what i usually do and change the refernce to an actual value.

so this - <item android:color="@color/bright_foreground_dark"

would become this- <item android:color="#ff4283d8"

or any hex value you wish to add

applying the text color value in res/layout

this is an area where you can get creative. learning how to change or hacking layout xmls is essential for modding certain apps. social networking apps like google plus and facebook have numerous background and text color changes that need to be made in layout or layout-hdpi.

all xmls in the layout folders with text color value will have the line starting like this-

<TextView android:textColor="?android:textColorPrimary" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="4.0dip" android:layout_marginTop="4.0dip" android:text="@string/enter_credit_card" />

so look for <textView as you examine the xml. this is an example pulled from a decompiled android market. where the line begins <textView will tell you quickly where text color values are present and follow along that code line. this example is referencing a color value in framework-res. this is always undesirable for me. i want to control my text color internally in the app.

so this- android:textColor="?android:textColorPrimary"

becomes this- android:textColor="#ff4283d8" (soft blue again)

often times you will just see android:textColor="#ffffffff" . the ffffffff is just an example. it could be any hex value. here you you just change the 8 digits to whatever you would like your color to be.

always follow proper syntax <android:textColor="#ffffffff"> has to be exact.

lets say you run into this situation. the xml is pointing to an area in your app that has an undesired text color. but when you search all you find is this-

android:textAppearance="?android:textAppearanceLar ge"

you could change the android:textAppearance to android:textColor but you really dont want that. it is referencing a text size. so just after-

android:textAppearance="?android:textAppearanceLar ge"

add this right after it with a one digit gap between them

android:textAppearance="?android:textAppearanceLar ge" android:textColor="#ffffffff"

also make sure after the line you cut in has a one digit gap after it also.
even if you add a text color in a layout xml after <textView that has no reference to text apperance or color it will still compile without errors. even if the change doesnt work. as long as you are on the proper line and using the correct syntax you wont bork anything.

here is a tutorial on changing systemUI text color

there are always more tips that can be given but this should start you on your way to modding layout text color.

applying text color changes in res/values/styles

Sent from my PG86100 using xda premium
The Following 39 Users Say Thank You to fernando sor For This Useful Post: [ View ] Gift fernando sor Ad-Free
26th October 2011, 11:01 PM |#9  
knightwolf123's Avatar
Recognized Themer
Flag /home/front-porch
Thanks Meter: 2,962
Donate to Me
I'll be around!
helping when I can, and learning as I go!
The Following User Says Thank You to knightwolf123 For This Useful Post: [ View ] Gift knightwolf123 Ad-Free
26th October 2011, 11:08 PM |#10  
Papa Smurf151's Avatar
Senior Member
Flag Atlanta
Thanks Meter: 6,791
Donate to Me
I'm here if anyone needs help
The Following 6 Users Say Thank You to Papa Smurf151 For This Useful Post: [ View ] Gift Papa Smurf151 Ad-Free
26th October 2011, 11:08 PM |#11  
reverepats's Avatar
Recognized Themer
Flag Boston,MA
Thanks Meter: 5,404
Donate to Me
Originally Posted by knightwolf123

I'll be around!
helping when I can, and learning as I go!

ahh u got the time to write this up huh? this is great man, I really appreciate it. Im gonna jump right into this now...thanks again brotha!!!
Post Reply Subscribe to Thread

#noobthemers, badseed owns your mom!, fern likes your mom, help thread, knowledge is power!, learn nao d3rp, read read read!!! then ask!, sup duce, this is where bad seeds grow!

Guest Quick Reply (no urls or BBcode)
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes