国际惯例先上图:
tabhost布局文件,注意tabhost,tabcontent和tabs这三个id一定要正确
<?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="match_parent" android:layout_height="match_parent" > <RelativeLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="match_parent" android:layout_height="match_parent" /> <TabWidget android:id="@android:id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/selector" android:layout_alignParentBottom="true"> </TabWidget> </RelativeLayout> </TabHost>
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ImageView android:id="@+id/tab_iv_icon" android:layout_width="match_parent" android:layout_height="28.0dip" android:scaleType="fitCenter"/> <TextView android:id="@+id/tab_tv_text" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="12.0sp" android:textColor="#FFFFFF" android:ellipsize="marquee" android:gravity="center" android:singleLine="true" android:marqueeRepeatLimit="1"/> </LinearLayout>
public class MainActivity extends TabActivity { private TabHost tabHost; private static final String HOME = "主页"; private static final String REFER = "提及"; private static final String ABOUT = "关于"; private static final String SEARCH = "搜索"; private static final String MORE = "更多"; //内容Intent private Intent homeIntent; private Intent referIntent; private Intent aboutIntent; private Intent searchIntent; private Intent moreIntent; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.tabhost);//设置TabHost使用的布局文件 tabHost=this.getTabHost(); tabHost.setFocusable(true); prepareIntent(); setupIntent(); } private void setupIntent(){ tabHost.addTab(buildTabSpec(HOME,R.drawable.icon_1_n, homeIntent)); tabHost.addTab(buildTabSpec(REFER,R.drawable.icon_2_n, referIntent)); tabHost.addTab(buildTabSpec(ABOUT,R.drawable.icon_3_n, aboutIntent)); tabHost.addTab(buildTabSpec(SEARCH,R.drawable.icon_4_n, searchIntent)); tabHost.addTab(buildTabSpec(MORE,R.drawable.icon_5_n, moreIntent)); } private TabSpec buildTabSpec(String tag, int icon, Intent intent) { View view = View.inflate(MainActivity.this, R.layout.tab, null); ((ImageView)view.findViewById(R.id.tab_iv_icon)).setImageResource(icon); ((TextView)view.findViewById(R.id.tab_tv_text)).setText(tag); return tabHost.newTabSpec(tag) .setIndicator(view) .setContent(intent); } private void prepareIntent() { homeIntent=new Intent(this, HomeActivity.class); referIntent=new Intent(this, ReferActivity.class); aboutIntent=new Intent(this, AboutActivity.class); searchIntent=new Intent(this,SearchActivity.class); moreIntent=new Intent(this, MoreActivity.class); } }