用Tabhost以及Fragment实现标签式主界面框架 (Android学习笔记)
用Tabhost以及Fragment实现标签式主界面框架 (Android学习笔记)
开始学习Android,第一个掉入的坑就是标签式界面。好像Android一开始的版本就不是很好支持这个东西。
后来才出了Fragment这个新的UI来将一个页面作为一个UI控件来使用的功能。觉得Android开发比iPhone开发麻烦,虽然我
没搞过iPhone。。。。
摘要 本文将介绍如何使用Tabhost以及Fragment控件来实现一个基本的标签界面,接着会介绍如果实现返回等操作界面
堆栈的功能。
注意的是,在Android3.0以上才加入了Fragment控件,为了兼容低版本的系统,我们需要用Android
sdk manager 下载并引用Android的支持库文件support library,移步官网这里有详细安装介绍。
以下是主界面 main_tabhost_activity.xml文件,其中tab1、tab2、tab3是我们要进行切换的界面,TabWidget是标签的内容,随后我们通过
代码添加标签按钮。
对应的Activity类要继承 FragmentActivity,并执行 OnTabChangeListener 接口
MainTabHost FragmentActivity
接着我们开始初始化TabHost控件,并在底部加入三个自定义的标签按钮
= (TabHost)
String[] title = String[] { "主页", "帮助", "Kecp"[] tabIds = ( i = 0; i < title.length; i++= Button(
其中按钮的背景图代码如下,在drawable文件夹下新建一个tab_lable.xml文件
这时候运行就可以看到以下效果图:
= contentViewID = 0 (tag.equals("主页"frag = FirstPageFragment();
contentViewID = (tag.equals("帮助"= = (frag == = (manager.findFragmentByTag(tag) == =trans.replace(contentViewID, frag, tag);
trans.commit();
}
}
这样点击下边按钮时候便可以切换了,而且对应标签页的按钮也会显示未红色。其中FirstPageFragment只是一个简单的类,继承了Fragment。 实际开发中这个界面就作为我们某一个功能的主界面来使用了。相当于一个Activity。虽然实现很简单,但还是把代码都贴出来方便各位吧~~ 下次为大家分享TabHost的界面堆栈问题。
用户评论