说在前面:
底部菜单的几种方式:
1.TabHost+Activity
2.RadioButton+Fragment
3.FragmentTabHost+Fragment
一、布局文件
因为goole官方没有给出layout文件,所以,手写了一份
布局中需要注意的地方:
1.id需要使用android:id的形式
android:id="@android:id/tabhost"
2.官方要求必须这样命名 tabcontent
android:id="@android:id/tabcontent"
二、首先,看看goole官方给的demo
activity中使用:
fragment中使用:
三、根据官方给的demo,自己撸了一份代码
1.FragmentTabHost用法
(1)Activity要继承FragmentActivity
(2)调用setup()方法
(3)添加TabSpec
2.代码实现
mTabHost= (FragmentTabHost) findViewById(android.R.id.tabhost);
mTabHost.setup(this,getSupportFragmentManager(),R.id.realtabcontent);
TabHost.TabSpec mTabSpec =mTabHost.newTabSpec(getString(tab.getTitle()));
mTabSpec.setIndicator(buildIndicator(tab));
mTabHost.addTab(mTabSpec,tab.getFragment(),null);
//去掉分割线
mTabHost.getTabWidget().setShowDividers(LinearLayout.SHOW_DIVIDER_NONE);
//设置默认第一个页面被选择
mTabHost.setCurrentTab(0);
3.附上demo