Android Studio FragmentTabHost使用
来源:互联网 发布:php网站开发入门 编辑:程序博客网 时间:2024/05/22 07:40
综述
早期的TabHost被废弃,因此使用新的FragmentTabHost代替TabHost
使用TabHost时,在TabActivity中将Activity作为tab加入TabHost即可
使用FragmentTabHost时使用的是FragmentActivity中容纳多个Fragment
FragmentTabHost使用时需要加入v4包,在Eclipse中需要人工导入v4包,AndroidStudio本身自己有v4包,再导入会导致v4包冲突
FragmentTabHost的布局编写:
- FrameLayout:真正容纳底部标签的布局。
- FragmentTabHost:id使用系统id,tabHost
- TabWeight:固定的不知道有什么意思。id使用系统id,tabs
- FrameLayout:要求必须按照这种格式写,否则会报错。使用系统id,tabcontent
我们之所以需要在上方加一个FrameLayout的目的是让切换标签放在下方,如果直接使用的下面的结构的话,标签项会出现在界面上方。
FragmentTabhost使用的主界面程序编写,继承FragmentActivity
1、找到FragmentTabHost:通过findViewById(android.R.id.tabhost)
2、初始化FragmentTabHost:通过setup函数,参数传入context,getSupportFragmentManager(),以及自己真正的标签容器。
3、添加Tab三步:
①创建Tab:tabHost.newTabSpec(String tag);该tag可以用来找到Fragment
②设置标签:tabSpec.setIndicator(View v);这里一般使用组合控件,一般情况下标签包括文字以及图片两个部分。
③添加Tab:tabHost.addTab(tabSpec, MyFragment.class, Bundle bundle);第二个参数是对应需要添加的Fragment,bundle是chuanruFragment的参数,不需要时填入null;该参数可以在Fragment中的onCreateView中通过Bundle bundle = this.getArguments()获取。
Fragment的编写
很多情况下我们会是从Activity改为Fragment,在Fragment中主要函数有两个,onCreateView中可以通过填充布局实现界面布局,在onViewCreated中可以通过findViewById找到对应的控件。
getActivity函数可以获取该Fragment对应的FragmentActivity,getActivity.getApplicationContext可以获取上下文。
在startActivityForResult时,返回结果操作只能通过FragmentActivity来处理,有FragmentActivity辨别后返回给对应的Fragment处理。
阅读全文
1 0
- Android Studio FragmentTabHost使用
- Android FragmentTabHost使用
- android FragmentTabHost的使用
- android fragmentTabHost的使用
- android之FragmentTabHost使用
- android FragmentTabHost 的简单使用
- android FragmentTabHost的简单使用
- android FragmentTabHost 的简单使用
- Android-FragmentTabHost的简单使用
- android fragmenttabhost 使用之二
- android fragmenttabhost 使用之三
- Android 布局FragmentTabHost的使用
- 【FragmentTabHost】FragmentTabHost的使用
- Android仿新浪微博底栏(FragmentTabHost的使用)
- Android常用控件之FragmentTabHost的使用
- Android仿新浪微博底栏(FragmentTabHost的使用)
- Android常用控件之FragmentTabHost的使用
- Android学习之FragmentTabHost配合Fragment使用
- Dubbo搭建流程
- ps网页设计教程
- lower-bound和upper-bound
- 学习总结
- POJ 1046 Color Me Less
- Android Studio FragmentTabHost使用
- rabbitmq安装
- 关于抽象类的学习
- 用链表实现的通讯录的功能
- 欢迎使用CSDN-markdown编辑器
- JavaScript为unicode编码转换为中文
- C#中结构体与类的区别
- 剑指offer面试题[37]-两个链表的第一个公共结点
- Mysql中Sql语句最大长度设置方法