第一种:继承TabActivity,从TabActivity中用getTabHost()方法获取TabHost。只要定义具体Tab内容布局就行了.

xml布局:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent" android:layout_height="fill_parent"><LinearLayout android:id="@+id/widget_layout_Blue"android:layout_width="fill_parent" android:layout_height="fill_parent"android:orientation="vertical" ><EditText android:id="@+id/widget34" android:layout_width="fill_parent"android:layout_height="wrap_content" android:text="EditText"android:textSize="18sp"></EditText><Button android:id="@+id/widget30" android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="Button"></Button></LinearLayout><LinearLayout android:id="@+id/widget_layout_red"android:layout_width="fill_parent" android:layout_height="fill_parent"android:orientation="vertical"  ><AnalogClock android:id="@+id/widget36"android:layout_width="wrap_content" android:layout_height="wrap_content"></AnalogClock></LinearLayout><LinearLayout android:id="@+id/widget_layout_green"android:layout_width="fill_parent" android:layout_height="fill_parent"android:orientation="vertical"><RadioGroup android:id="@+id/widget43"android:layout_width="166px" android:layout_height="98px"android:orientation="vertical"><RadioButton android:id="@+id/widget44"android:layout_width="wrap_content" android:layout_height="wrap_content"android:text="RadioButton"></RadioButton><RadioButton android:id="@+id/widget45"android:layout_width="wrap_content" android:layout_height="wrap_content"android:text="RadioButton"></RadioButton></RadioGroup></LinearLayout></FrameLayout>java代码:super.onCreate(savedInstanceState);myTabhost=this.getTabHost();//get TabhostLayoutInflater.from(this).inflate(R.layout.main, myTabhost.getTabContentView(), true);myTabhost.setBackgroundColor(Color.argb(150, 22, 70, 150));myTabhost.addTab(myTabhost.newTabSpec("One")// make a new Tab.setIndicator("A")// set the Title and Icon.setContent(R.id.widget_layout_Blue));// set the layoutmyTabhost.addTab(myTabhost.newTabSpec("Two")// make a new Tab.setIndicator("B",getResources().getDrawable(R.drawable.mumule))// set the Title and Icon.setContent(R.id.widget_layout_green));// set the layoutmyTabhost.addTab(myTabhost.newTabSpec("Three")// make a new Tab.setIndicator("C",getResources().getDrawable(R.drawable.notepad))// set the Title and Icon.setContent(R.id.widget_layout_red));


第二种:不用继承TabActivity,在布局文件中定义TabHost即可,但是TabWidget的id必须是
@android:id/tabs,FrameLayout的id必须是@android:id/tabcontent。TabHost的id可以自定义.

xml布局:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:id="@+id/hometabs"android:orientation="vertical"    android:layout_width="fill_parent"      android:layout_height="fill_parent">     <TabHost android:id="@+id/tabhost"     android:layout_width="wrap_content"     android:layout_height="wrap_content">     <LinearLayoutandroid:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent">     <TabWidget android:id="@android:id/tabs"       android:orientation="horizontal"      android:layout_width="wrap_content"      android:layout_height="wrap_content">        </TabWidget>          <FrameLayout android:id="@android:id/tabcontent"      android:layout_width="wrap_content"      android:layout_height="wrap_content">      <TextView android:id="@+id/view1"        android:layout_width="fill_parent"        android:layout_height="fill_parent"/>    <TextView android:id="@+id/view2"        android:layout_width="fill_parent"        android:layout_height="fill_parent"/>    <TextView android:id="@+id/view3"        android:layout_width="fill_parent"        android:layout_height="fill_parent"/>     </FrameLayout>          </LinearLayout>    </TabHost></LinearLayout>java代码:protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.hometabs);                TabHost tabHost = (TabHost) findViewById(R.id.tabhost);        tabHost.setup();        TabWidget tabWidget = tabHost.getTabWidget();                tabHost.addTab(tabHost.newTabSpec("tab1")                .setIndicator("tab1", getResources().getDrawable(R.drawable.mumule))                .setContent(R.id.view1));                tabHost.addTab(tabHost.newTabSpec("tab3")                .setIndicator("tab3")                .setContent(R.id.view3));                tabHost.addTab(tabHost.newTabSpec("tab2")                .setIndicator("tab2")                .setContent(R.id.view2));                final int tabs = tabWidget.getChildCount();        Log.i(TAG, "***tabWidget.getChildCount() : " + tabs);                final int tabWidth = 90;final int tabHeight = 45;for (int i = 0; i < tabs; i++) {/*final View view = tabWidget.getChildAt(i);view.getLayoutParams().width = tabWidth;view.getLayoutParams().height = tabHeight;final TextView tv = (TextView) view.findViewById(android.R.id.title);    tv.setTextColor(this.getResources().getColorStateList(android.R.color.black));    MarginLayoutParams tvMLP = (MarginLayoutParams)tv.getLayoutParams();    tvMLP.bottomMargin = 8;*/}}

更多相关文章

  1. Android(安卓)初识Retrofit
  2. Android(安卓)自定义组件 方法篇
  3. Android(安卓)单元测试小总结
  4. android 自定义导航控件
  5. Android--WebView+HTML+Javascript
  6. 固定屏幕显示模式 ScreenOrientation
  7. Android(安卓)startActivityForResult的使用
  8. android studio调试c++代码
  9. 使用Android(安卓)Instrument 自动测试 WIFI_SERVICE

随机推荐

  1. android 限定 EditText字符输入个数
  2. 强制 Android(安卓)应用使用某个 Locale
  3. IPPH-发送广播
  4. 重命名sd卡中的文件名
  5. startService写法
  6. 彻底解决Android(安卓)GPS没法定位这一顽
  7. Android和IOS打开文档
  8. Android中MediaPlayer的setDataSource方
  9. Fragment的使用简介【Android】
  10. Android错误集