Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,743,029 Members 42,745 Now Online
XDA Developers Android and Mobile Development Forum

[GUIDE] How to move TAB BARS to bottom for the whole System (BOTTOM TABS))

Tip us?
 
mariozawa
Old
(Last edited by mariozawa; 16th February 2014 at 03:19 PM.)
#1  
mariozawa's Avatar
Recognized Themer - OP
Thanks Meter 724
Posts: 364
Join Date: Jul 2012
Location: Malolos, Bulacan

 
DONATE TO ME
Default [GUIDE] How to move TAB BARS to bottom for the whole System (BOTTOM TABS))

Before modding read Pure Android | Android Developers
Just read this if you want your tab bars to be on the bottom so don't say that
this is iSh%@*#t style


import PureAndroid;

Quote:
Don't use bottom tab bars

Other platforms use the bottom tab bar to switch between the app's views.
Per platform convention, Android's tabs for view control are shown in action
bars at the top of the screen instead. In addition, Android apps may use a
bottom bar to display actions on a split action bar.

You should follow this guideline to create a consistent experience with
other apps on the Android platform and to avoid confusion between actions
and view switching on Android.


STEPS

Quote:
Decompile your

framework-res.apk
twframework-res.apk (if you are on TouchWiz Based ROM)
contacs.apk
DialerTabActivity.apk



Modding framework-res.apk
Go to framework-res.apk\res\layout\tab_content.xml

Code:
Select Code
<?xml version="1.0" encoding="utf-8"?>
 <TabHost android:id="@id/tabhost" 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_width="fill_parent" android:layout_height="fill_parent">
         <FrameLayout android:id="@id/tabcontent" android:layout_width="fill_parent" android:layout_height="0.0dip" android:layout_weight="1.0" />
         <TabWidget android:id="@id/tabs" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="0.0" />
     </LinearLayout>
 </TabHost>
You just need to switch tabcontent with tabs
Don'f forget to add android:layout_weight="1.0 to tabcontent or else you will not see your tab bars





Modding twframework-res.apk
Go to twframework-res.apk\res\layout\tw_tab_content.xml

Code:
Select Code
<?xml version="1.0" encoding="utf-8"?>
 <com.sec.android.touchwiz.widget.TwTabHost android:id="@android:id/tabhost" 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_width="fill_parent" android:layout_height="fill_parent">
         <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="0.0dip" android:layout_weight="1.0" />
         <com.sec.android.touchwiz.widget.TwTabWidget android:gravity="center_vertical" android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="0.0" />
     </LinearLayout>
 </com.sec.android.touchwiz.widget.TwTabHost>
You just need to switch tabcontent with tabs
Don'f forget to add android:layout_weight="1.0 to tabcontent or else you will not see your tab bars



Modding contacs.apk
Go to contacs.apk\res\layout-finger\topmenu_activity.xml

Code:
Select Code
<?xml version="1.0" encoding="utf-8"?>
 <com.sec.android.touchwiz.widget.TwTabHost android:id="@android:id/tabhost" 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_width="fill_parent" android:layout_height="fill_parent">
         <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="0.0dip" android:layout_weight="1.0" />
         <com.sec.android.touchwiz.widget.TwTabWidget android:gravity="center_vertical" android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="0.0" />
     </LinearLayout>
 </com.sec.android.touchwiz.widget.TwTabHost>
You just need to switch tabcontent with tabs
Don'f forget to add android:layout_weight="1.0 to tabcontent or else you will not see your tab bars



Modding DialerTabActivity.apk credits to @CarlDeanCatabay
Go to DialerTabActivity.apk\res\layout-ldpi\dialer_activity


Code:
Select Code
<?xml version="1.0" encoding="utf-8"?>
 <com.sec.android.touchwiz.widget.TwTabHost android:id="@android:id/tabhost" 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_width="fill_parent" android:layout_height="fill_parent">
         <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="0.0dip" android:layout_weight="1.0" />
         <LinearLayout android:orientation="horizontal" android:id="@id/TabLayoutWrapper" android:layout_width="fill_parent" android:layout_height="43.0dip">
             <com.sec.android.touchwiz.widget.TwTabWidget android:gravity="center_vertical" android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0" />
             <LinearLayout android:orientation="vertical" android:id="@id/LinearLayout01" android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_weight="3.0">
                 <RelativeLayout android:id="@id/button_wrapper" android:background="@touchwiz:drawable/tw_tab_unselected" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginLeft="-5.0dip" android:layout_marginTop="-12.0dip" android:layout_marginRight="-7.399994dip" android:layout_marginBottom="-6.0dip">
                     <RelativeLayout android:gravity="center" android:id="@id/tab_button_contact" android:background="@drawable/dialer_tab_button_bg_selector" android:focusable="true" android:clickable="true" android:layout_width="fill_parent" android:layout_height="fill_parent">
                         <ImageView android:id="@id/tab_button_contact_img" android:background="@drawable/dialer_tab_contact_button_selector" android:clickable="false" android:duplicateParentState="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" />
                         <TextView android:textStyle="bold" android:textColor="@touchwiz:color/tw_color001" android:ellipsize="marquee" android:id="@id/tab_button_contact_text" android:paddingTop="30.0dip" android:clickable="false" android:duplicateParentState="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/tab_contacts" android:textScaleX="0.8" android:singleLine="true" android:layout_centerHorizontal="true" />
                     </RelativeLayout>
                 </RelativeLayout>
                 <ImageView android:id="@id/bottom_image" android:background="@touchwiz:drawable/tw_tab_selected_bar_left" android:layout_width="fill_parent" android:layout_height="5.0dip" android:layout_marginTop="-4.0dip" />
             </LinearLayout>
         </LinearLayout>
     </LinearLayout>
 </com.sec.android.touchwiz.widget.TwTabHost>
You just need to switch tabcontent with TablayoutWrapper
Don'f forget to add android:layout_weight="1.0 to tabcontent or else you will not see your tab bars







If you want to move the tabs of other Apps
find its tab layout and switch the tabContent to TabBars
don't worry you will notice it easily or just attach the
tabLayout.xml here maybe we can help you.

Ask your questions in this thread not in PM

If you I help you just Press the THANKS BUTTON





CREDITS
POTATOINC
CarlDeanCatabay
GOOGLE
The Following 16 Users Say Thank You to mariozawa For This Useful Post: [ Click to Expand ]
 
mariozawa
Old
(Last edited by mariozawa; 7th October 2013 at 11:51 AM.)
#2  
mariozawa's Avatar
Recognized Themer - OP
Thanks Meter 724
Posts: 364
Join Date: Jul 2012
Location: Malolos, Bulacan

 
DONATE TO ME
Modding Holo Launcher

Go to com.mobint.hololauncher-1.apk\res\layout\apps_customize_pane.xml

Code:
Select Code
<?xml version="1.0" encoding="utf-8"?>
<com.mobint.hololauncher.AppsCustomizeTabHost
  xmlns:android="http://schemas.android.com/apk/res/android">
    <LinearLayout android:orientation="vertical" android:id="@id/apps_customize_content" android:layout_width="fill_parent" android:layout_height="fill_parent">

 <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="0.0dip" android:layout_weight="1.0">
            <com.mobint.hololauncher.AppsCustomizePagedView android:id="@id/apps_customize_pane_content" android:layout_width="fill_parent" android:layout_height="fill_parent" />
            <include android:layout_gravity="bottom" android:id="@id/paged_view_indicator" android:layout_width="wrap_content" android:layout_height="wrap_content" layout="@layout/scroll_indicator" />
        </FrameLayout>
        <LinearLayout android:layout_gravity="center_horizontal" android:id="@id/tabs_container" android:background="@drawable/tab_unselected_holo" android:layout_width="fill_parent" android:layout_height="@dimen/apps_customize_tab_bar_height" android:layout_marginTop="@dimen/apps_customize_tab_bar_margin_top">
            <HorizontalScrollView android:layout_gravity="left" android:id="@id/tab_scroller" android:scrollbars="none" android:layout_width="0.0dip" android:layout_height="fill_parent" android:fillViewport="true" android:layout_weight="1.0">
                <com.mobint.hololauncher.FocusOnlyTabWidget android:id="@android:id/tabs" android:layout_width="wrap_content" android:layout_height="fill_parent" android:divider="@null" android:tabStripEnabled="false" />
            </HorizontalScrollView>
            <include android:layout_gravity="right" android:id="@id/market_button" android:layout_width="wrap_content" android:layout_height="fill_parent" layout="@layout/market_button" />
        </LinearLayout>
        <ImageButton android:layout_gravity="center_horizontal" android:id="@id/home_button" android:background="#00000000" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/home_button" android:scaleType="fitXY" />
    </LinearLayout>
</com.mobint.hololauncher.AppsCustomizeTabHost>


You just need to switch tabcontent with tabs_container
Don'f forget to add android:layout_weight="1.0 to tabcontent or else you will not see your tab bars


Modding Music.apk



Go to
Music.apk\res\layout-finger
Music.apk\res\layout-land-finger
Music.apk\res\layout-land-finger-320x240
Music.apk\res\layout-port-finger-320x240

then edit the
media_picker_activity_expanding.xml
media_picker_activity.xml

in all layouts folder
make it like this

Code:
Select Code
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:gravity="center_vertical" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <include layout="@layout/sd_error" />   
    <com.android.music.TouchInterceptor android:textSize="18.0sp" android:id="@android:id/list" android:background="#00000000" android:layout_width="fill_parent" android:layout_height="fill_parent" android:drawSelectorOnTop="false" android:cacheColorHint="@android:color/transparent" android:layout_weight="1.0" android:fastScrollEnabled="true" style="@style/Widget.ListView.Translucent" />
    <include layout="@layout/nowplaying" />
    <include layout="@layout/buttonbar" />
</LinearLayout>


You just need to move
<include layout="@layout/buttonbar" /> to the last part of your code


I also attached my frameworks it is for Hyperion so you can use it as your reference
Attached Files
File Type: apk signed_twframework-res.apk - [Click for QR Code] (322.3 KB, 36 views)
File Type: apk signed_framework-res.apk - [Click for QR Code] (3.45 MB, 54 views)
The Following 9 Users Say Thank You to mariozawa For This Useful Post: [ Click to Expand ]
 
ryan_joshua
Old
#3  
ryan_joshua's Avatar
Senior Member
Thanks Meter 56
Posts: 113
Join Date: Apr 2013
This is incredibly amazing! :cheers: That's my teacher!
The Following 2 Users Say Thank You to ryan_joshua For This Useful Post: [ Click to Expand ]
 
mms047
Old
#4  
mms047's Avatar
Senior Member
Thanks Meter 83
Posts: 197
Join Date: Aug 2013
Location: Netrakona
Nice TUT Bro.... :thumbup:

♣♣♣♣♣♣♣♣♣♣
♠Learning to be a Pro... ♠
♥Don't hesitate to press thanks if someone is worthy of it... ♥



Galaxy Young GT-S5360


Wanna visit my font collection thread for SGY/SGY Duos? Then Click Me!!!




The Following User Says Thank You to mms047 For This Useful Post: [ Click to Expand ]
 
jpdesuasido
Old
#5  
jpdesuasido's Avatar
Senior Member
Thanks Meter 71
Posts: 191
Join Date: Jan 2013
Location: Meycauayan City
Default Play with Layout




-Credits to the image creator -

Good work sir! You're the best!
The Following User Says Thank You to jpdesuasido For This Useful Post: [ Click to Expand ]
 
paul222008
Old
#6  
paul222008's Avatar
Member
Thanks Meter 8
Posts: 45
Join Date: Jul 2013
Potato Kasali po ba ang twframework basta hyperion.GM final build?
 
rijrosario17
Old
#7  
Junior Member
Thanks Meter 0
Posts: 3
Join Date: Oct 2013
Thumbs up where can i find the xml tab of Settings.apk? :) your GUIDE is so cool.. :)

Can you help me sir? i cant find the tabs xml of settings.apk
 
paul222008
Old
#8  
paul222008's Avatar
Member
Thanks Meter 8
Posts: 45
Join Date: Jul 2013
bootloop bottomtabs idol
 
mariozawa
Old
#9  
mariozawa's Avatar
Recognized Themer - OP
Thanks Meter 724
Posts: 364
Join Date: Jul 2012
Location: Malolos, Bulacan

 
DONATE TO ME
Quote:
Originally Posted by rijrosario17 View Post
Can you help me sir? i cant find the tabs xml of settings.apk
What ROM you are using?


Quote:
Originally Posted by paul222008 View Post
bootloop bottomtabs idol
Why?
Post some logcats

Kindly attach your edited xmls of framework and twframework here
The Following User Says Thank You to mariozawa For This Useful Post: [ Click to Expand ]
 
paul222008
Old
#10  
paul222008's Avatar
Member
Thanks Meter 8
Posts: 45
Join Date: Jul 2013
<?xml version="1.0" encoding="utf-8"?>
<TabHost android:id="@id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout androidrientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent">
<FrameLayout android:id="@id/tabcontent" android:layout_width="fill_parent" android:layout_height="0.0dip" android:layout_weight="1.0" />
<TabWidget android:id="@id/tabs" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="0.0" />
</LinearLayout>
</TabHost>

my framework-res.apk

Tags
bottom tabs, mariozawa, potatoinc, tabs
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes