对TabHost、TabWidget的理解分析

要用到tab组件,布局layout中必须有TabHost文件,它有一个id,比如 android:id="@+id/tabhost" 或者android:id="@android:id/tabhost"

在TabHost中一般必须有TabWidget,这个主要是用来处理tab的位置、属性等。一般还有FrameLayout组件,用于定义显示的在Tab下显示的组件。

例如:

 TabHost tabs = (TabHost) findViewById(R.id.tabhost);

  tabs.setup();

  TabHost.TabSpec spec = tabs.newTabSpec("tag1");
  spec.setContent(R.id.tab1);
  spec.setIndicator("Clock");
  tabs.addTab(spec);

其中tabs.newTabSpec("tag1")用来new一个tab,同时标记这个tab的tag

setContent()用来处理点击这个tab后的动作,可以是这个Activity下的一个组件,如setContent(R.id.tab1),也可以是一个intent,比如:setContent(new Intent(this, SubTab.class))

setIndicator()用来标记这个tab的名字,可以是setIndicator("Clock"),也可以包含其他的属性,如图片:setIndicator( "商场",getResources().getDrawable(android.R.drawable.arrow_down_float))

tabs.addTab(spec)将这个tab添加到TabHost。(完)

http://2960629.blog.51cto.com/2950629/638907

你可能感兴趣的:(android,tabhost,tabwidget)