TabHost的使用方法

来源:互联网 发布:台湾永宏plc编程手册 编辑:程序博客网 时间:2024/05/19 12:11

TabHost是整个Tab的容器,包括两部分,TabWidgetFrameLayout;TabWidget就是每个tab的标签,FrameLayout则是tab内容。

TabHost有两种实现方式:一、继承TabActivity; 二、单纯继承Activity,在代码中添加

第一种:

1、如果我们使用extends TabAcitivty,如同ListActivityTabHost必须设置为@android:id/tabhost
2
TabWidget必须设置android:id@android:id/tabs
3
FrameLayout需要设置android:id@android:id/tabcontent

布局文件 例如:

activity_main.xml
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical" >
   <TabHost
       android:id="@android:id/tabhost"

      android:layout_width="fill_parent"
      android:layout_height="fill_parent">
       <LinearLayout
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:orientation="vertical">
          <TabWidget
              android:id="@android:id/tabs"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:visibility="visible"/>
          <FrameLayout
              android:id="@android:id/tabcontent"
              android:layout_width="fill_parent"
              android:layout_height="0.0dp"
              android:layout_weight="1.0"
              android:background="@android:color/white">
          </FrameLayout>
       </LinearLayout>
   </TabHost>
</LinearLayout>

 

代码:

public classMainActivity extends TabActivity{

    TabHosttabHost ;
    RadioGroupradioGroup;
   @Override
    protectedvoid onCreate(BundlesavedInstanceState) {
     super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
       tabHost=getTabHost(); //
必须getTabHost
      
     tabHost.addTab(tabHost.newTabSpec("trends").setIndicator("
动态").setContent(newIntent(MainActivity.this,TrendsActivity.class)));
     tabHost.addTab(tabHost.newTabSpec("groups").setIndicator("
群组").setContent(newIntent(MainActivity.this,GroupsActivity.class)));
    }
}

 

第一种就完成了,可能界面不好看,自己可以调试,不要在意这些细节~~呵呵

 


第二种:public classMainActivity extends ActivityGroup{

    TabHosttabHost ;
    RadioGroupradioGroup;


   @Override
    protectedvoid onCreate(BundlesavedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_main);


       tabHost= (TabHost)findViewById(R.id.m_tabhost);
      //如果通过findViewById得到TabHost一定要调用 TabHost.setup();
        LocalActivityManagerlocalAcManager= new LocalActivityManager(MainActivity.this,true);
     localAcManager.dispatchCreate(savedInstanceState);
       tabHost.setup(localAcManager);

     tabHost.addTab(tabHost.newTabSpec("trends").setIndicator("动态").setContent(newIntent(MainActivity.this,TrendsActivity.class)));
     tabHost.addTab(tabHost.newTabSpec("groups").setIndicator("
群组").setContent(newIntent(MainActivity.this,GroupsActivity.class)));
    }
}

 

 

 

0 0
原创粉丝点击