欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新

用Tabhost以及Fragment实现标签式主界面框架 (Android学习笔记)

来源: 开发者 投稿于  被查看 20077 次 评论:192

用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。虽然实现很简单,但还是把代码都贴出来方便各位吧~~

FirstPageFragment Fragment = inflater.inflate(R.layout.first_page_fragment, = FirstPageFragment

 

first_page_fragment.xml

  下次为大家分享TabHost的界面堆栈问题。

用户评论