[Android Themes] ZduneX25:
Some of you saw/used my TNL theme: http://xdaforums.com/showthread.php?t=1886892 and you probably would like to know how I did it.

Ok am gonna show you, but if you do not have basic knowledge (maybe even a bit advanced).

Requirements:

-apktool (not other apk manager!)

-cmd/terminal

-jre and jdk

-windows or linux (probably osx as well)

1. Load resources of app that you want to theme

apktool if here_comes_apk_file.apk

for me it was SystemUI.apk, then you will get:

I: Framework installed to: %userprofile%\apktool\framework\127.apk

2. What to do with 127.apk, simply add it to apktool.yml (of the theme):

usesFramework:
ids:
- 1
- 127

3. Preview of com_android_systemui.xml (as usual, but in layout files you cannot use a part of file you have to keep whole code):

<item name="layout/status_bar">@layout/status_bar</item>
<item name="layout/status_bar_expanded">@layout/status_bar_expanded</item>
<item name="layout/status_bar_expanded_header">@layout/status_bar_expanded_header</item>

4. Preview of status_bar_expanded_header.xml (you can add/remove/change everything you want as long as you put package name right after each @):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:background="@com.android.systemui:drawable/notification_header_bg" android:layout_width="fill_parent" android:layout_height="wrap_content" android:baselineAligned="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<com.android.systemui.statusbar.policy.Clock android:textAppearance="@com.android.systemui:style/TextAppearance.StatusBar.Expanded.Clock" android:id="@com.android.systemui:id/clock" android:clickable="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="8.0dip" android:singleLine="true" />
<com.android.systemui.statusbar.policy.DateView android:textAppearance="@com.android.systemui:style/TextAppearance.StatusBar.Expanded.Date" android:id="@com.android.systemui:id/date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="8.0dip" android:layout_marginRight="8.0dip" />
<LinearLayout android:id="@com.android.systemui:id/buttons_bar" android:layout_width="wrap_content" android:layout_height="wrap_content">
<com.android.systemui.statusbar.RotationToggle android:id="@com.android.systemui:id/rotation_lock_button" android:clickable="true" android:layout_width="32.0dip" android:layout_height="32.0dip" android:layout_margin="8.0dip" android:button="@com.android.systemui:drawable/ic_notify_rotation" android:contentDescription="@com.android.systemui:string/accessibility_rotation_lock_off" />
<ImageView android:id="@com.android.systemui:id/settings_button" android:layout_width="48.0dip" android:layout_height="48.0dip" android:src="@com.android.systemui:drawable/ic_notify_quicksettings" android:scaleType="center" android:contentDescription="@com.android.systemui:string/accessibility_settings_button" />
</LinearLayout>
<Space android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_weight="1.0" />
<ImageView android:id="@com.android.systemui:id/clear_all_button" android:layout_width="48.0dip" android:layout_height="48.0dip" android:src="@com.android.systemui:drawable/ic_notify_clear" android:scaleType="center" android:contentDescription="@com.android.systemui:string/accessibility_clear_all" />
</LinearLayout>

5. Preview of usb_storage_activity.xml (from my MIUIv4 theme) (you can add/remove/change everything you want as long as you put package name right after each @):

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:gravity="center" android:id="@android:id/main" android:padding="18.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout android:orientation="vertical" android:layout_gravity="center" android:layout_marginTop="50.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content">
<ImageView android:id="@android:id/icon" android:layout_width="0.0dip" android:layout_height="0.0dip" android:src="@android:drawable/usb_android" android:layout_centerHorizontal="true" />
<Button android:id="@android:id/mount_button" android:layout_gravity="center" android:background="@android:drawable/usb_android" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<Button android:id="@android:id/unmount_button" android:layout_gravity="center" android:background="@android:drawable/usb_android_connected" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout android:orientation="vertical" android:layout_gravity="center_vertical" android:layout_alignParentBottom="true" android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView android:textSize="24.0sp" android:gravity="center" android:id="@android:id/banner" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="10.0dip" android:text="@android:string/usb_storage_title" android:layout_below="@android:id/icon" android:layout_centerHorizontal="true" />
<TextView android:textSize="14.0sp" android:gravity="center" android:id="@android:id/message" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="10.0dip" android:text="@android:string/usb_storage_message" android:layout_below="@android:id/banner" />
</LinearLayout>
<RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="110.0dip" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true">
<ProgressBar android:id="@android:id/progress" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:indeterminate="true" style="?android:attr/progressBarStyle" />
</RelativeLayout>
</RelativeLayout>

6. Preview of styles.xml (from swype to show you how to theme such parts):

<style name="Swype.holo" parent="@com.nuance.swype.dtc:style/Swype.holo">
<item name="com.nuance.swype.dtc:candidateComponent">#ff187af4</item>
<item name="com.nuance.swype.dtc:candidateRecommended">#ff187af4</item>
<item name="com.nuance.swype.dtc:highlightedKeyTextColor">#ff187af4</item>
<item name="com.nuance.swype.dtc:componentForegroundColor">#ff187af4</item>
<item name="com.nuance.swype.dtc:convertingStringBackgroundColor">#aa187af4</item>
<item name="com.nuance.swype.dtc:smartEditorBackgroundHighlightColor">#aa187af4</item>
<item name="com.nuance.swype.dtc:smartEditorUnderlineHighlightColor">#ff187af4</item>
<item name="com.nuance.swype.dtc:verCandidateComponent">#ff187af4</item>
<item name="com.nuance.swype.dtc:verCandidateRecommended">#ff187af4</item>
<item name="com.nuance.swype.dtc:wordInlineBackgroundColor">#ff187af4</item>
</style>

8. Using this guide you will loose wallpaper and preview of you theme to get your wall back add following code to android.xml:

<item name="drawable/default_wallpaper">@drawable/homescreen</item>

There is no way to fix preview w/o editing apktool source.