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
source share