FORUMS

XDA Picks: Best Apps of the Week (Apr 17 – 24)

Apps are at the front and center of any smartphone experience, and with over a … more

Glimpse Notifications: Easier Lockscreen Notifications

Lollipop brought a revamp to the lockscreen, taking away custom widgets but … more

What Are the Best Looking Apps on Android?

As more developers are updating their apps with Material Design elements, we’re … more

Cyngn Explained: Who’s Cyanogen, What’s Cyanogen OS?

While Cyanogen, Inc has been the source of many headlines lately, there … more
Post Reply Subscribe to Thread Email Thread

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

18th March 2012, 06:17 AM |#1  
evilisto's Avatar
OP Senior Member
Thanks Meter: 2,352
 
More
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: 10,969
 
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: 269
 
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
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: 315
 
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
Post Reply Subscribe to Thread

Tags
ics app switcher multitask
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes