FORUMS

Analysis & Opinion

Top Forum Discussions

[MOD][HOWTO] Change ICS App Switcher to Windows Phone 7 Style

486 posts
Thanks Meter: 2,352
 
By evilisto, Senior Member on 18th March 2012, 06:17 AM
Post Reply Subscribe to Thread Email Thread
WP7(Mango?) app switcher is like this :




and i made similar thing by modifying ics app switcher layout.

preview :





flashable mod is originally posted in nexus s theme forum.
[MOD] Change ICS App Switcher to Windows Phone 7 Style

this mod is related to framework-res.apk and SystemUI.apk so making universal version for any devices is difficult. so i write this simple guide for other rom / device users.

-----------------------------------------------------------------------------

* framework-res.apk

- /res/values/dimens.xml : change thumbnail size to..

Code:
    <dimen name="thumbnail_height">305.0dip</dimen>
    <dimen name="thumbnail_width">192.0dip</dimen>
these values are wvga devices only. if you have mdpi or xhdpi device, you have to adjust these values suitable to your screen size.


* SystemUI.apk

- /res/values/bools.xml
Code:
 
   <bool name="config_recents_thumbnail_image_fits_to_xy">true</bool>
- /res/values/drawables.xml
Code:
    <item type="drawable" name="status_bar_recents_background_solid">#ff33b1e1</item>
- /res/layout/status_bar_no_recent_apps.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:background="@drawable/status_bar_recents_background_solid" android:layout_width="fill_parent" android:layout_height="fill_parent"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <TextView android:textSize="20.0dip" android:textColor="@color/status_bar_recents_app_label_color" android:gravity="center_horizontal" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/status_bar_no_recent_apps" />
</FrameLayout>

- /res/layout-port/status_bar_recent_item.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:paddingLeft="@dimen/status_bar_recents_item_padding" android:paddingRight="@dimen/status_bar_recents_item_padding" android:layout_width="wrap_content" android:layout_height="fill_parent"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <RelativeLayout android:layout_gravity="center_vertical" android:id="@id/recent_item" android:paddingTop="@android:dimen/status_bar_height" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true">
        <FrameLayout android:id="@id/app_thumbnail" android:background="@drawable/recents_thumbnail_bg" android:visibility="invisible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5.0dip" android:foreground="@drawable/recents_thumbnail_fg" android:layout_centerInParent="true">
            <ImageView android:id="@id/app_thumbnail_image" android:layout_width="192.0dip" android:layout_height="305.0dip" />
            <ImageView android:id="@id/app_icon" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/status_bar_recents_app_icon_left_margin" android:layout_marginTop="0.0dip" android:scaleType="centerInside" android:adjustViewBounds="true" android:maxWidth="@dimen/status_bar_recents_app_icon_max_width" android:maxHeight="@dimen/status_bar_recents_app_icon_max_height" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" />
        </FrameLayout>
        <TextView android:textSize="@dimen/status_bar_recents_app_label_text_size" android:textColor="@color/status_bar_recents_app_label_color" android:ellipsize="marquee" android:id="@id/app_label" android:paddingTop="0.0dip" android:fadingEdge="horizontal" android:fadingEdgeLength="@dimen/status_bar_recents_fading_edge_length" android:layout_width="@dimen/status_bar_recents_app_label_width" android:layout_height="fill_parent" android:layout_marginLeft="@dimen/status_bar_recents_app_label_left_margin" android:layout_marginTop="100.0dip" android:scrollHorizontally="true" android:singleLine="true" android:layout_below="@id/app_thumbnail" android:layout_alignLeft="@id/app_thumbnail" android:layout_alignParentBottom="true" />
        <TextView android:textSize="@dimen/status_bar_recents_app_description_text_size" android:ellipsize="marquee" android:id="@id/app_description" android:fadingEdge="horizontal" android:fadingEdgeLength="@dimen/status_bar_recents_fading_edge_length" android:layout_width="@dimen/status_bar_recents_app_label_width" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/status_bar_recents_app_label_left_margin" android:layout_marginTop="40.0dip" android:scrollHorizontally="true" android:singleLine="true" android:layout_below="@id/app_label" android:layout_alignLeft="@id/app_thumbnail" android:layout_alignParentBottom="true" />
    </RelativeLayout>
</FrameLayout>

- /res/layout-port/status_bar_recent_panel.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.recent.RecentsPanelView android:id="@id/recents_root" android:layout_width="fill_parent" android:layout_height="fill_parent"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <FrameLayout android:id="@id/recents_bg_protect" android:background="@drawable/status_bar_recents_background_solid" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_centerVertical="true">
        <com.android.systemui.recent.RecentsHorizontalScrollView android:layout_gravity="bottom|left|center" android:id="@id/recents_container" android:scrollbars="none" android:fadingEdge="none" android:fadingEdgeLength="0.0dip" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="0.0dip" android:stackFromBottom="true" android:divider="@null">
            <LinearLayout android:orientation="horizontal" android:id="@id/recents_linear_layout" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="wrap_content" />
        </com.android.systemui.recent.RecentsHorizontalScrollView>
    </FrameLayout>
    <include android:id="@id/recents_no_apps" android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" layout="@layout/status_bar_no_recent_apps" />
</com.android.systemui.recent.RecentsPanelView>

and you'd better to edit landscape layout too..

- /res/layout-land/status_bar_recent_item.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:paddingLeft="@dimen/status_bar_recents_item_padding" android:paddingRight="@dimen/status_bar_recents_item_padding" android:layout_width="wrap_content" android:layout_height="fill_parent"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <RelativeLayout android:layout_gravity="center_vertical" android:id="@id/recent_item" android:paddingTop="@android:dimen/status_bar_height" android:layout_width="wrap_content" android:layout_height="wrap_content">
        <FrameLayout android:id="@id/app_thumbnail" android:background="@drawable/recents_thumbnail_bg" android:visibility="invisible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/status_bar_recents_thumbnail_left_margin" android:layout_marginTop="@dimen/status_bar_recents_thumbnail_top_margin" android:foreground="@drawable/recents_thumbnail_fg" android:layout_alignParentLeft="true" android:layout_alignParentTop="true">
            <ImageView android:id="@id/app_thumbnail_image" android:layout_width="115.0dip" android:layout_height="183.0dip" />
        </FrameLayout>
        <ImageView android:id="@id/app_icon" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/status_bar_recents_app_icon_left_margin" android:layout_marginTop="@dimen/status_bar_recents_app_icon_top_margin" android:scaleType="centerInside" android:adjustViewBounds="true" android:maxWidth="@dimen/status_bar_recents_app_icon_max_width" android:maxHeight="@dimen/status_bar_recents_app_icon_max_height" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" />
        <TextView android:textSize="@dimen/status_bar_recents_app_label_text_size" android:textColor="@color/status_bar_recents_app_label_color" android:ellipsize="marquee" android:id="@id/app_label" android:fadingEdge="horizontal" android:fadingEdgeLength="@dimen/status_bar_recents_fading_edge_length" android:layout_width="@dimen/status_bar_recents_app_label_width" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/status_bar_recents_app_label_left_margin" android:layout_marginTop="@dimen/status_bar_recents_text_description_padding" android:scrollHorizontally="true" android:singleLine="true" android:layout_below="@id/app_thumbnail" android:layout_alignLeft="@id/app_thumbnail" />
        <TextView android:textSize="@dimen/status_bar_recents_app_description_text_size" android:ellipsize="marquee" android:id="@id/app_description" android:fadingEdge="horizontal" android:fadingEdgeLength="@dimen/status_bar_recents_fading_edge_length" android:layout_width="@dimen/status_bar_recents_app_label_width" android:layout_height="wrap_content" android:layout_marginTop="@dimen/status_bar_recents_text_description_padding" android:scrollHorizontally="true" android:singleLine="true" android:layout_below="@id/app_label" android:layout_alignLeft="@id/app_thumbnail" />
    </RelativeLayout>
</FrameLayout>

- /res/layout-land/status_bar_recent_panel.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.recent.RecentsPanelView android:id="@id/recents_root" android:layout_width="fill_parent" android:layout_height="fill_parent"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <FrameLayout android:id="@id/recents_bg_protect" android:background="@drawable/status_bar_recents_background" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentBottom="true">
        <com.android.systemui.recent.RecentsHorizontalScrollView android:layout_gravity="bottom|left|center" android:orientation="horizontal" android:id="@id/recents_container" android:scrollbars="none" android:fadingEdge="none" android:fadingEdgeLength="0.0dip" android:clipChildren="false" android:clipToPadding="false" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginRight="@dimen/status_bar_recents_right_glow_margin" android:stackFromBottom="true" android:divider="@null">
            <LinearLayout android:orientation="horizontal" android:id="@id/recents_linear_layout" android:clipChildren="false" android:clipToPadding="false" android:layout_width="wrap_content" android:layout_height="fill_parent" />
        </com.android.systemui.recent.RecentsHorizontalScrollView>
    </FrameLayout>
    <include android:id="@id/recents_no_apps" android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" layout="@layout/status_bar_no_recent_apps" />
</com.android.systemui.recent.RecentsPanelView>
-----------------------------------------------------------------------------

Thanks to brucekey in rootzwiki
(this mod is based on his WEBAOKP mod.)

-----------------------------------------------------------------------------
Last edited by evilisto; 29th March 2012 at 12:54 PM. Reason: clean up
The Following 68 Users Say Thank You to evilisto For This Useful Post: [ View ]
 
 
18th March 2012, 10:16 AM |#2  
Mazda's Avatar
Recognized Developer
Flag Milton, Florida
Thanks Meter: 11,325
 
More
Looks good bro!! I hope you don't mind BUT I put this mod in my thread over in the EVO section. I gave you full credit for this MOD but I just wanted to share it with my peeps over there.....THANKS AGAIN for everything that you do in the Android community!
18th March 2012, 07:58 PM |#3  
baliriot's Avatar
Senior Member
Flag Shah Alam
Thanks Meter: 270
 
More
Thumbs up
beautiful...
19th March 2012, 06:41 PM |#4  
Senior Member
Flag Matrand
Thanks Meter: 22
 
More
Doesn't work :(
I am unable to decompile and compile with apktool, apk manager and APK multitool.
Can I upload the framework-res.apk and systemui.apk and someone do it for me?
It might be something about Windows 8 that the sdk doesn't like
19th March 2012, 06:59 PM |#5  
Senior Member
Thanks Meter: 23
 
More
Hi, is there any way how to make launcher show up in this taskswitcher? Thanks
19th March 2012, 09:04 PM |#6  
carvajaljn's Avatar
Senior Member
Flag En algun lugar de mexico
Thanks Meter: 22
 
More
can you port for samsung galaxy s2 please
20th March 2012, 02:16 AM |#7  
rashid.fairus's Avatar
Senior Member
Flag Klang
Thanks Meter: 232
 
More
nice!!!

Sent from my LT18i
20th March 2012, 02:31 AM |#8  
cooladityarai's Avatar
Senior Member
Thanks Meter: 69
 
More
I will really love to have this mod....but can anyone tell me plz what will be the values for qvga screen....????
Thanks

Sent from my GT-I5500 using Tapatalk
20th March 2012, 06:47 PM |#9  
Senior Member
Flag Matrand
Thanks Meter: 22
 
More
Please?
Could someone compile these two for me?
http://www.mediafire.com/download.php?1cr5p09pxcyamw7

Made it work after a while. is there a way to make the thumbnail look less blurry?
Last edited by perern; 20th March 2012 at 08:25 PM. Reason: Finally made it
21st March 2012, 10:33 PM |#10  
netwokz's Avatar
Senior Member
Flag Phoenix, AZ
Thanks Meter: 316
 
More
evilisto, is there anyway to move the text for the pages down? I resized my pages because of my screen resolution(540x960). But as you can see they are not below the pages. Also can you change the color of the text? Thanks for the write up, I like the a lot all ready.
Last edited by netwokz; 21st March 2012 at 10:37 PM. Reason: Edit pic upload
21st March 2012, 10:39 PM |#11  
SpaceCaker's Avatar
Recognized Themer / Contributor
Flag netherlands
Thanks Meter: 10,948
 
More
Quote:
Originally Posted by netwokz

evilisto, is there anyway to move the text for the pages down? I resized my pages because of my screen resolution(540x960). But as you can see they are not below the pages. Also can you change the color of the text? Thanks for the write up, I like the a lot all ready.

wanna share wallpaper?



herpderp © aint got money to pay to my fish

Read More
Post Reply Subscribe to Thread

Tags
ics app switcher multitask

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

Advanced Search
Display Modes