实现采用TabHost组件。
1、XML布局文件:
<?xml version="1.0" encoding="utf-8"?>
<TabHost 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"
android:padding="5dp">
<FrameLayout
android:gravity="bottom"
android:layout_weight="1"
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dp" />
<TabWidget
android:layout_weight="0"
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</TabHost>
注意<FrameLayout>标签和<TabWidget>标签的顺序。
android:layout_weight的设置使位置靠下,否则默认是在上面的。
2、activity文件
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.maintabs);
// Resource object to get Drawables
Resources res = getResources();
tabHost = getTabHost();
// Resusable TabSpec for each tab
TabHost.TabSpec spec;
// Reusable Intent for each tab
Intent intent;
// Create an Intent to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(this,HomeTab.class);
// Initialize a TabSpec for each tab and add it to the TabHost
String str_tabhome=res.getString(R.string.tab_home);
spec = tabHost.newTabSpec(str_tabhome).setIndicator(str_tabhome,res.getDrawable(R.drawable.ic_tab_artists))
.setContent(intent);
tabHost.addTab(spec);
String str_tab02=res.getString(R.string.tab02);
spec = tabHost.newTabSpec(str_tab02).setIndicator(str_tab02,res.getDrawable(R.drawable.ic_tab_artists))
.setContent(intent);
tabHost.addTab(spec);
tabHost.setCurrentTab(2);
}
3、效果如下: