If you are a beginner at building themes then I suggest you read through this thread first and work on learning the basics first.
This "guide" is really to help people transition from those beginning steps of building themes to more advanced processes that will help take your themes to the next level.
The bulk of this will be showing some of the most useful xml edits I have found and use in pretty much every theme I build.
Disclaimer: These mods should work on most roms, but there may be some differences depending on the rom.
Status Bar Clock
First and probably the most important (in my opinion) is the changing the color of the clock in the status bar. Most likely you have changed the color of the signal bars and battery so having a blue clock is just out of place.
Open SystemUI>>res>>layout>>status_bar.xml
You need to make edits on 3 lines. Just change the hex value to the color you want. For instance, with my Red Widow theme I used the hex code for red which is CD0000.So it should look like "#ffCD0000" instead of "#ff32aedc"
Line 7
<TextView android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:textSize="16.0sp" android:textColor="#ff32aedc" android:gravity="left|center" android:id="@id/onsText" android:paddingLeft="6.0px" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" android:maxLength="18" />
Line 24
<com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:textColor="#ff32aedc" android:gravity="left|center" android:id="@id/clock" android:paddingRight="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
Line 36 -- *This is the color of the date on the status bar pull down*
<com.android.systemui.statusbar.policy.DateView android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:textColor="#ff32aedc" android:gravity="left|center" android:id="@id/date" android:background="@drawable/status_bar_background" android:paddingLeft="6.0px" android:paddingRight="6.0px" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
_________________________________________________________________________________________________________________________________________
_________________________________________________________________________________________________________________________________________
_________________________________________________________________________________________________________________________________________
ICS Blue Text throughout the rom
This edit is what will change the color of the text in a lot of places. For instance, when you restart after wiping cache/dalvik and you get that screen that says "Android is upgrading" will be whatever color you choose instead of ICS blue. Honestly I can't even remember everything that this changes, but I know it is another must have to complete any theme.
Open framework-res>>res>>values>>colors.xml
Look at line 9 and 10. I always change the hex on both lines to the color I'm using in the theme.
<color name="holo_blue_light">#ff33b5e5</color>
<color name="holo_blue_dark">#ff0099cc</color>
_________________________________________________________________________________________________________________________________________
_________________________________________________________________________________________________________________________________________
_________________________________________________________________________________________________________________________________________
Colors in Contacts
This will change the color of the text and dividers in the contacts list.
Open Contacts>>res>>values>>colors.xml
These are all of the lines that I change.
Line 8
<color name="quickcontact_tab_indicator">#ffcd0000</color>
Line 19
<color name="people_app_theme_color">#ffcd0000</color>
Line 24
<color name="action_bar_button_text_color">#ffcd0000</color>
Lines 30 and 31
<color name="sd_title_divider">#ffcd0000</color>
<color name="dialpad_highlight_color">#ffcd0000</color>
Now open Contacts>>res>>values>>styles.xml
Line 39
<item name="call_log_primary_text_color">#ffcd0000</item>
Line 43
<item name="call_log_header_color">#ffcd0000</item>
Line 47
<item name="call_log_voicemail_status_action_text_color">#ffcd0000</item>
Line 54
<item name="call_log_primary_text_color">#ffcd0000</item>
Line 58
<item name="call_log_header_color">#ffcd0000</item>
Line 62
<item name="call_log_voicemail_status_action_text_color">#ffcd0000</item>
_________________________________________________________________________________________________________________________________________
_________________________________________________________________________________________________________________________________________
_________________________________________________________________________________________________________________________________________
Colors in Phone
Open Phone>>res>>values>>colors.xml
Edit these lines:
Line 10
<color name="incall_phonenumber_color">#ffcd0000</color>
Line 13
<color name="call_banner_divider">#ffcd0000</color>
Now open Phone>>res>>values>>styles.xml
Line 42, 52, 56, 114, and 146 should all look like this:
<item name="android:textColor">#ffcd0000</item>
____________________________________________
_________________________________________________________________________________________________________________________________________
_________________________________________________________________________________________________________________________________________
LatinIME-Letters on keyboard
This edit will change the letters on the keyboard from white to you choice of color.
Open LatinIME>>res>>values>>styles.xml
Line 65
<style name="LatinKeyboard">
<item name="autoCorrectionSpacebarLedEnabled">@bool/config_auto_correction_spacebar_led_enabled</item>
<item name="spacebarTextColor">#ffcd0000</item>
<item name="spacebarTextShadowColor">#80000000</item>
Line 83-93
<item name="keyTextColor">#ffcd0000</item>
<item name="keyTextInactivatedColor">#ffcd0000</item>
<item name="keyHintLetterColor">#80cd0000</item>
<item name="keyHintLabelColor">#e0cd0000</item>
<item name="keyUppercaseLetterInactivatedColor">#66cd0000</item>
<item name="keyUppercaseLetterActivatedColor">#cccd0000</item>
<item name="keyPreviewLayout">@layout/key_preview</item>
<item name="keyPreviewBackground">@drawable/keyboard_key_feedback</item>
<item name="keyPreviewLeftBackground">@null</item>
<item name="keyPreviewRightBackground">@null</item>
<item name="keyPreviewTextColor">#ffcd0000</item>
Line 216-229
<style name="KeyboardView.IceCreamSandwich" parent="@style/KeyboardView">
<item name="android:background">@drawable/keyboard_background_holo</item>
<item name="keyBackground">@drawable/btn_keyboard_key_ics</item>
<item name="keyTextInactivatedColor">#66cd0000</item>
<item name="keyHintLetterColor">#ffcd0000</item>
<item name="keyHintLabelColor">#a0cd0000</item>
<item name="keyUppercaseLetterInactivatedColor">#66cd0000</item>
<item name="keyUppercaseLetterActivatedColor">#ffcd0000</item>
<item name="keyPreviewBackground">@drawable/keyboard_key_feedback_ics</item>
<item name="keyPreviewLeftBackground">@drawable/keyboard_key_feedback_left_ics</item>
<item name="keyPreviewRightBackground">@drawable/keyboard_key_feedback_right_ics</item>
<item name="keyPreviewBackgroundWidth">@dimen/keyboard_key_feedback_background_holo_width</item>
<item name="keyPreviewBackgroundHeight">@dimen/keyboard_key_feedback_background_holo_height</item>
<item name="keyPreviewTextColor">#ffcd0000</item>
IMPORTANT NOTE!!! When you compile LatinIME and open up the apk that is in the dist folder and are ready to drag and drop your files back in to the original apk you CAN NOT drag and drop the res folder! You MUST open the res folder and drag-n-drop only the drawable-hdpi folder or else you will get force closes.
Of course if you only made xml edits this doesn't apply since those will be in resources.arsc
_______________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________
Remove Carrier Label/Change Carrier Label Text
Pretty self explanatory. This removes the "Verizon Wireless" text from the lock screen and the status bar pull down. I was actually really surprised when I found how easy this was. Using this method you can also put your own custom text in place of it. Only one catch, though, it can only be 16 characters long.
Open framework-res>>res>>xml>>eri.xml
The edits will be made on lines 9, 21, and 22. The process is the same for each line.
If you want to remove the carrier label, then you will replace the text with 16 spaces. **You must put 16 spaces!!!
It will go from looking like this:
<EriInfo RoamingIndicator="76" IconIndex="0" IconMode="0" EriText="Verizon Wireless" CallPromptId="0" AlertId="0" DataServiceSupport="1" />
To looking like this:
<EriInfo RoamingIndicator="76" IconIndex="0" IconMode="0" EriText=" " CallPromptId="0" AlertId="0" DataServiceSupport="1" />
If you want custom text displayed then remember as I stated, MUST be 16 characters exactly. So if it is less than that then you will put spaces before and after the text to fill it out.
So if I want to add the text "ARCTIC HD" then it should look like this when I'm finished.
<EriInfo RoamingIndicator="76" IconIndex="0" IconMode="0" EriText=" Arctic HD " CallPromptId="0" AlertId="0" DataServiceSupport="1" />
Notice I put spaces before and after to keep it centered properly when it displays.
_______________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________
Custom Image on Status Bar Pull Down
This is one that I had wanted to learn since I started making themes and I'm so glad I finally did it.
Open SystemUI>>res>>values>>drawable.xml
Delete line 12. It should be this line:
<item type="drawable" name="notification_tracking_bg">#d8000000</item>
Now you need to create the image you want to use for the background.The size is not all that important, because it will be stretched to fit if it is smaller than it needs to be.
The size of the image I used was 540x600. It seemed to fit perfect for me without stretching the image and making it look distorted from my original image.
Now you need to save this image with the name notification_tracking_bg.png
Place this image in SystemUI>>res>>drawable-hdpi and you're done.
Special note: Not important but the reason this works is because if you open SystemUI>>res>>layout>>status_bar_tracking.xml you will see that on line 4 it is looking for something drawable named notification_tracking_bg.
Coming soon:
- More common useful xml edits