How do you put FragmentTabhost to the bottom

I want to put tabwidget at the bottom like an iPhone App. I know this layout is against Google UserInterface, but I need to.

So, I read a lot of similar posts in Stackoverflow. but every post does not work.

I want to use FragmentTabhost without using an external library (e.g .: ActionBarsherlock

this is my code

<android.support.v4.app.FragmentTabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/tabhost" android:layout_width="match_parent" android:layout_height="match_parent" > <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" > <FrameLayout android:id="@+id/tabcontent" android:layout_width="0dp" android:layout_height="0dp" android:layout_above="@android:id/tabs" /> <FrameLayout android:id="@+id/content" android:layout_width="match_parent" android:layout_height="0dp" android:layout_above="@android:id/tabs" /> <TabWidget android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:orientation="horizontal" /> </RelativeLayout> 

and activity code below

  protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_top); //set up FragmentTabhost FragmentTabHost host = (FragmentTabHost)findViewById(R.id.tabhost); host.setup(this,getSupportFragmentManager(),R.id.content); //add tabspec TabSpec tabSpec1 = host.newTabSpec("tab1"); Button btn1 = new Button(this); btn1.setBackgroundResource(R.drawable.icon1); tabSpec1.setIndicator(btn1); Bundle bundle1 = new Bundle(); bundle1.putString("name", "tab1"); host.addTab(tabSpec1,SampleFragment.class,bundle1); TabSpec tabSpec2 = host.newTabSpec("tab2"); Button btn2 = new Button(this); btn2.setBackgroundResource(R.drawable.icon2); tabSpec2.setIndicator(btn2); Bundle bundle2 = new Bundle(); bundle2.putString("name", "tab2"); host.addTab(tabSpec2,SampleFragment1.class,bundle2); } 

so I tried another layout like this

 <android.support.v4.app.FragmentTabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/tabhost" android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <FrameLayout android:id="@+id/tabcontent" android:layout_width="0dp" android:layout_height="0dp" android:layout_weight="0" /> <TabWidget android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="0" android:orientation="horizontal" /> <FrameLayout android:id="@+id/content" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" /> </LinearLayout> 

please help me,


Note finally, I solved this problem. This is a SupportPackage bug .....

try it

http://code.google.com/p/android/issues/detail?id=40035

+4
source share
3 answers

Try the following:

 <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" > <TabWidget android:id="@android:id/tab" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" /> <FrameLayout android:id="@android:id/content" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </RelativeLayout> 
+2
source

Try the following:

 <?xml version="1.0" encoding="utf-8"?> <android.support.v4.app.FragmentTabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent"> <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="fill_parent" android:layout_weight="1" /> <TabWidget android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="0"/> </LinearLayout> </android.support.v4.app.FragmentTabHost> 
0
source

Try this. After the XML works very well for me.

 <?xml version="1.0" encoding="utf-8"?> <android.support.v4.app.FragmentTabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent" > <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" > <TabWidget android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" /> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </RelativeLayout> </android.support.v4.app.FragmentTabHost> 

Hope this works.

-2
source

All Articles