{MOD's}{How to's} Create a custom notification dropdown! Remove status bar clock!

Search This thread

jeffsanace

Senior Member
May 5, 2010
2,798
2,824
Wilmington, De.
Badseed.gif


Create a custom background for your notification dropdown.

Assuming you already know how to decompile, edit and recompile apk's

Let's start by decompiling SystemUI.apk

Once decompiled find the values folder and open it. Now right click on the drawables.xml and open with notepad++ change the values as shown below save and exit.

<?xml version="1.0" encoding="utf-8"?>
<resources>
<item type="drawable" name="notification_tracking_bg">#00000000</item>
<item type="drawable" name="notification_number_text_color">#ffffffff</item>
<item type="drawable" name="notification_item_background_color">#00000000</item>
<item type="drawable" name="notification_item_background_color_pressed">#ff257390</item>
<item type="drawable" name="ticker_background_color">#00000000</item>
<item type="drawable" name="status_bar_recents_background_solid">#80000000</item>
<item type="drawable" name="status_bar_recents_app_thumbnail_background">#80000000</item>
<item type="drawable" name="status_bar_notification_row_background_color">#00000000</item>
<item type="drawable" name="notification_header_bg">#00000000</item>
<item type="drawable" name="recents_callout_line">#99ffffff</item>
<item type="drawable" name="notification_item_background_legacy_color">#00000000</item>
</resources>

***NOTE- The above can be hard coded to your desired color without having to add the custom image I'm about to describe below. You will still need to make the notificaton_tracking_bg.9 transparent so it will not stack with the coded color.


Now you need to make your custom background image. I named mine shade_bg (240x400) make sure the image is rgb or it will not show correctly, you can name what you like,

and add this image to res/drawable-xhdpi. Also while in that folder, find notification_tracking_bg.9, this image needs to be made transparent or your images will stack on top of one another.

The easiest way to do that is to open up Gimp, pull decompiled image into the window, select the rectangle tool and make a box around the image except for the patch lines.Go to edit then cut,

that will remove the background without breaking the patch. Now save the image in place of the old one.

Once thats done, navigate to res/layout folder and open it. Inside find status_bar_tracking.xml, right click and open with notepad++.

Add android:background="drawable/shade_bg" in line 2 as shown below.

<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.phone.TrackingView android:eek:rientation="vertical" android:background="@drawable/shade_bg" android:paddingLeft="0.0px" android:paddingRight="0.0px" android:paddingBottom="0.0px" android:focusable="true" android:visibility="gone" android:descendantFocusability="afterDescendants"

Once all this is done you can now recompile your SystemUI.apk sign, zipalign and install. You should now have the background you created as your dropdown.

Enjoy your new dropdown, get creative, and happy modding.


Here's another quick one.

Remove statusbar clock....

Navigate to res/layout and find status_bar.xml, right click and open with

notepad++ then just add the text in the entry you see below highlighted in red. Recompile, sign and zipalign. No more clock!

<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.phone.PhoneStatusBarView android:eek:rientation="vertical" android:background="@drawable/status_bar_background" android:focusable="true" android:descendantFocusability="afterDescendants"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<LinearLayout android:eek:rientation="horizontal" android:id="@id/icons" android:paddingLeft="6.0dip" android:paddingRight="6.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent">
<LinearLayout android:eek:rientation="horizontal" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0">
<TextView android:textColor="@color/white" android:gravity="center_vertical" android:id="@id/plmnLabel" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
<com.android.systemui.statusbar.StatusBarIconView android:id="@id/moreIcon" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/stat_notify_more" />
<TextView android:textColor="@color/white" android:gravity="center_vertical" android:id="@id/callTime" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
<com.android.systemui.statusbar.phone.IconMerger android:gravity="center_vertical" android:eek:rientation="horizontal" android:id="@id/notificationIcons" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentLeft="true" />
</LinearLayout>
<LinearLayout android:gravity="center_vertical" android:eek:rientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" />
<LinearLayout android:gravity="center" android:eek:rientation="horizontal" android:id="@id/signal_battery_cluster" android:paddingLeft="2.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent">
<ImageView android:id="@id/battery" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="center" />
</LinearLayout>
<com.android.systemui.statusbar.policy.Clock android:textAppearance="@android:style/TextAppearance.StatusBar.Icon" android:gravity="left|center" android:id="@id/clock" android:visibility="gone" android:paddingLeft="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
</LinearLayout>
<LinearLayout android:eek:rientation="horizontal" android:id="@id/ticker" android:paddingLeft="6.0dip" android:animationCache="false" android:layout_width="fill_parent" android:layout_height="fill_parent">
<ImageSwitcher android:id="@id/tickerIcon" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:layout_marginRight="4.0dip">
<com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" />
<com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" />
</ImageSwitcher>
<com.android.systemui.statusbar.phone.TickerView android:id="@id/tickerText" android:paddingTop="2.0dip" android:paddingRight="10.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="1.0">
<TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />
<TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />
</com.android.systemui.statusbar.phone.TickerView>
</LinearLayout>
<com.android.systemui.statusbar.policy.DateView android:textAppearance="@android:style/TextAppearance.StatusBar.Icon" android:textSize="16.0sp" 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" />
<include android:id="@id/glow" layout="@layout/status_bar_glow" />
</com.android.systemui.statusbar.phone.PhoneStatusBarView>

Thanks to my Bad Seed brothers for all that we accomplish together.
 
Last edited:

jeffsanace

Senior Member
May 5, 2010
2,798
2,824
Wilmington, De.
Working magic already, huh? How'd you get notification toggles, or you using an app for that?

Sent from my EVO using xda premium

I have quick settings but that is switchpro widgets from the market. Great app, you can put almost anything you want in there, re color, different backgrounds, even has reboot with recovery built in.
 

jeffsanace

Senior Member
May 5, 2010
2,798
2,824
Wilmington, De.
Jeffsance its good to see ya here buddy. Here's to hoping you hook us up with one of your kickass themes bro.

Sent from my EVO using Tapatalk 2

Nice to see you as well. Haven't had a lot of time for themes lately. I'll probably put something out at some point. I'm having fun finding mods for this beast of a phone right now.

Sent from LTEVO!
 

reverepats

Senior Member
Dec 22, 2010
6,552
5,264
Boston,MA
Nice to see you as well. Haven't had a lot of time for themes lately. I'll probably put something out at some point. I'm having fun finding mods for this beast of a phone right now.

Sent from LTEVO!

Yep. Understandable. Yeah its nice to be back with Sprint. Not the Network LOL (for noe of course). Nice to see the familiar faces again.

Sent from my EVO using Tapatalk 2
 

tdunham

Inactive Recognized Contributor
Jun 21, 2008
13,686
36,465
TampaBay
What would I need to change to make just the top notification bar transparent?

Sent from my SPH-D710 using XDA
 

tdunham

Inactive Recognized Contributor
Jun 21, 2008
13,686
36,465
TampaBay
Are you referring to where it says sprint and settings? If so, those are images in res/drawable- xhdpi. Not sure off the top of my head what the names are.
Well sort of Jeff. I take it that the notification bar itself is an image then and the drawables.xml is exactly what it says and (in basic terms) does not control a stationary item like the notification bar?
BTW, I'm kinda jumping ship here, you can tell from my sig that I'm on a totally different phone but the base OS and principles are still the same. Thanks for your time, I've been trying to find an answer for this for a while. We're still waiting for the ICS OTA release here for the Sprint E4GT so there isn't a lot of support for it yet. :rolleyes:
 

Top Liked Posts

  • There are no posts matching your filters.
  • 33
    Badseed.gif


    Create a custom background for your notification dropdown.

    Assuming you already know how to decompile, edit and recompile apk's

    Let's start by decompiling SystemUI.apk

    Once decompiled find the values folder and open it. Now right click on the drawables.xml and open with notepad++ change the values as shown below save and exit.

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
    <item type="drawable" name="notification_tracking_bg">#00000000</item>
    <item type="drawable" name="notification_number_text_color">#ffffffff</item>
    <item type="drawable" name="notification_item_background_color">#00000000</item>
    <item type="drawable" name="notification_item_background_color_pressed">#ff257390</item>
    <item type="drawable" name="ticker_background_color">#00000000</item>
    <item type="drawable" name="status_bar_recents_background_solid">#80000000</item>
    <item type="drawable" name="status_bar_recents_app_thumbnail_background">#80000000</item>
    <item type="drawable" name="status_bar_notification_row_background_color">#00000000</item>
    <item type="drawable" name="notification_header_bg">#00000000</item>
    <item type="drawable" name="recents_callout_line">#99ffffff</item>
    <item type="drawable" name="notification_item_background_legacy_color">#00000000</item>
    </resources>

    ***NOTE- The above can be hard coded to your desired color without having to add the custom image I'm about to describe below. You will still need to make the notificaton_tracking_bg.9 transparent so it will not stack with the coded color.


    Now you need to make your custom background image. I named mine shade_bg (240x400) make sure the image is rgb or it will not show correctly, you can name what you like,

    and add this image to res/drawable-xhdpi. Also while in that folder, find notification_tracking_bg.9, this image needs to be made transparent or your images will stack on top of one another.

    The easiest way to do that is to open up Gimp, pull decompiled image into the window, select the rectangle tool and make a box around the image except for the patch lines.Go to edit then cut,

    that will remove the background without breaking the patch. Now save the image in place of the old one.

    Once thats done, navigate to res/layout folder and open it. Inside find status_bar_tracking.xml, right click and open with notepad++.

    Add android:background="drawable/shade_bg" in line 2 as shown below.

    <?xml version="1.0" encoding="utf-8"?>
    <com.android.systemui.statusbar.phone.TrackingView android:eek:rientation="vertical" android:background="@drawable/shade_bg" android:paddingLeft="0.0px" android:paddingRight="0.0px" android:paddingBottom="0.0px" android:focusable="true" android:visibility="gone" android:descendantFocusability="afterDescendants"

    Once all this is done you can now recompile your SystemUI.apk sign, zipalign and install. You should now have the background you created as your dropdown.

    Enjoy your new dropdown, get creative, and happy modding.


    Here's another quick one.

    Remove statusbar clock....

    Navigate to res/layout and find status_bar.xml, right click and open with

    notepad++ then just add the text in the entry you see below highlighted in red. Recompile, sign and zipalign. No more clock!

    <?xml version="1.0" encoding="utf-8"?>
    <com.android.systemui.statusbar.phone.PhoneStatusBarView android:eek:rientation="vertical" android:background="@drawable/status_bar_background" android:focusable="true" android:descendantFocusability="afterDescendants"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
    <LinearLayout android:eek:rientation="horizontal" android:id="@id/icons" android:paddingLeft="6.0dip" android:paddingRight="6.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent">
    <LinearLayout android:eek:rientation="horizontal" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0">
    <TextView android:textColor="@color/white" android:gravity="center_vertical" android:id="@id/plmnLabel" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
    <com.android.systemui.statusbar.StatusBarIconView android:id="@id/moreIcon" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/stat_notify_more" />
    <TextView android:textColor="@color/white" android:gravity="center_vertical" android:id="@id/callTime" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
    <com.android.systemui.statusbar.phone.IconMerger android:gravity="center_vertical" android:eek:rientation="horizontal" android:id="@id/notificationIcons" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentLeft="true" />
    </LinearLayout>
    <LinearLayout android:gravity="center_vertical" android:eek:rientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" />
    <LinearLayout android:gravity="center" android:eek:rientation="horizontal" android:id="@id/signal_battery_cluster" android:paddingLeft="2.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent">
    <ImageView android:id="@id/battery" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="center" />
    </LinearLayout>
    <com.android.systemui.statusbar.policy.Clock android:textAppearance="@android:style/TextAppearance.StatusBar.Icon" android:gravity="left|center" android:id="@id/clock" android:visibility="gone" android:paddingLeft="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
    </LinearLayout>
    <LinearLayout android:eek:rientation="horizontal" android:id="@id/ticker" android:paddingLeft="6.0dip" android:animationCache="false" android:layout_width="fill_parent" android:layout_height="fill_parent">
    <ImageSwitcher android:id="@id/tickerIcon" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:layout_marginRight="4.0dip">
    <com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" />
    <com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" />
    </ImageSwitcher>
    <com.android.systemui.statusbar.phone.TickerView android:id="@id/tickerText" android:paddingTop="2.0dip" android:paddingRight="10.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="1.0">
    <TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />
    <TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />
    </com.android.systemui.statusbar.phone.TickerView>
    </LinearLayout>
    <com.android.systemui.statusbar.policy.DateView android:textAppearance="@android:style/TextAppearance.StatusBar.Icon" android:textSize="16.0sp" 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" />
    <include android:id="@id/glow" layout="@layout/status_bar_glow" />
    </com.android.systemui.statusbar.phone.PhoneStatusBarView>

    Thanks to my Bad Seed brothers for all that we accomplish together.
    11
    Reserved for more mods!
    4450b37e-2685-af48.jpg

    Nextup.....
    4450b37e-269e-c13b.jpg


    Sent from LTEVO!
    8
    Uh oh who let you in here? ;-) there goes the neighborhood
    181e03ce-b4ef-c23b.jpg


    Sent from my EVO using Tapatalk 2
    4
    The app drawer image is mcluvn's, I hope to get a how to up for it soon. That one requires a lot more edits then just adding the image. The apps need to be aligned to fit the shelves. I'll ask him if he minds me sharing the image.

    Sent from LTEVO!
    4
    Wow BadSeed customs must be the real deal. Thank you kind sir!

    Sent from my EVO using xda premium