PiYuqing 2012-08-03
主 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 开始