主 activity 的 layout
<?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" android:orientation="vertical" > <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="5dp" ></FrameLayout> <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent"> <!-- tabStripEnabled属性去掉底部下划线与选项卡间的下划线 --> <!-- layout_alignParentBottom属性即可将其放在底部菜单栏,注意,必须在RelativeLayout里 --> <TabWidget android:id="@android:id/tabs" android:tabStripEnabled="false" android:background="#6E6E6E" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" ></TabWidget> </RelativeLayout> </TabHost>
主 activity
package test.mft;
import android.app.Activity;
import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TabHost;
public class TestActivity extends TabActivity {
/** Called when the activity is first created. */
private TabHost tabhost;
private Intent intent1,intent2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tabhost = getTabHost();
intent1 = new Intent(TestActivity.this, one.class);
tabhost.addTab(tabhost.newTabSpec("one")
.setIndicator("电话", getResources().getDrawable(android.R.drawable.ic_menu_call))
.setContent(intent1));
intent2 = new Intent(TestActivity.this,one.class);
tabhost.addTab(tabhost.newTabSpec("two")
.setIndicator("相机", getResources().getDrawable(android.R.drawable.ic_menu_camera))
.setContent(intent2));
}
}
from : http://www.apkbus.com/forum.php?mod=viewthread&tid=58838
如果包含的 activity 里面有 intent 就会跳出 tab
tabhost.setCurrentTab(1); 跳转到 指定 ID 的 TAB , 从0 开始