`

Android之选项卡控件

阅读更多

选项卡控件

作为导航模块快速切换。实现类是TabHost,派生自FrameLayout。选项卡控件包括若干个选项卡Tab,每个选项卡由一个标签Tab Widget,对应的内容界面组成。标签汇聚在TaB Widget中,被选中的呈现在用户面前。

开发者通过TabHost.setCurrentTab函数进行切换。

TabHost.addTab动态添加选项卡,每个选项卡可以用TabHost.TabSpec描述。TabHost.setIndicator为选项卡设置标签,每二个标签由一个图标和一段文字组成。

    TabHost.setContent为选项卡设置内容界面。设置内容的方式:

1.通过控件标识id:将选项卡的内容设置为已有的Tab内容,本质上是控制控件的可见性

2.通过选项卡工厂:TabHost.TabContentFactory,将控件内容的构造延迟到用户第一次选择对应的选项卡时进行。节省内存,实现整洁。

以上2中都是控制界面的可见性:本质

3.通过界面组件:利用Intent,将选项卡的内容设置为某个界面组件对象,使得选项卡成为界面组件的集合。最常见的使用方式。

将界面组件整合在选项卡控件中,是利用了本地界面组件的功能。通过LocalActivityManager对象构造界面组件,并将该界面组件预期宿主界面组件建立父子关系。

   本地化的界面组件不会被加入到任务栈,也不会支持退栈操作。不会独立被回收,生命周期与父界面组件绑定。

 

    通过Activity.getParent获取父控件对象。还可以通过它实现父子控件的通信:

 

(TheParentActivity)parent.sendMessageToParent()

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics