博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FragmentTabHost 用法
阅读量:4121 次
发布时间:2019-05-25

本文共 1456 字,大约阅读时间需要 4 分钟。


一、FragmentTabHost结构如下图:

在这里插入图片描述

FragmentTabHost 包含两个内容:TabWidget和FrameLayout。

标准的FragmentTabHost是TabWidget在上面,FrameLayout在下面。
如果想要制作TabWidget在下面的效果,可以在布局文件中手动添加一个FrameLayout,并将FragmentTabHost 中的FrameLayout 的宽高设为0即可。不能省略掉FragmentTabHost 中的FrameLayout。

  • 注意:FragmentTabHost、TabWidget、FrameLayout的id必须是使用 android:id/XXX,不能使用自定义的id即 +id/ 。

二、XML文件的配置

xml文件的示例代码如下:

这个布局即是TabWidget在下,FrameLayout在上。跟微信的效果一致。

三、代码中的配置

使用FragmentTabHost 分为三个步骤:

  1. 初始化FragmentTabHost
  2. 新建TabSpec
  3. 将TabSpec添加进FragmentTabHost

代码如下:

// 1.初始化FragmentTabHostFragmentTabHost tabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);tabHost.setup(this, getSupportFragmentManager(),R.id.activity_home_container); // 2.新建TabSpec(小标签),并setIndicatorTabSpec tabSpec = tabHost.newTabSpec(TAG_CHAT);chatIndicator = new TabIndicatorView(this);	//下面三个方法是项目中自定义方法	chatIndicator.setIcon(R.drawable.tab_icon_chat_normal,R.drawable.tab_icon_chat_focus);	chatIndicator.setTitle("消息");	chatIndicator.setUnReadCount(0);tabSpec.setIndicator(chatIndicator);// 3.将TabSpec添加进FragmentTabHost// 参数1:FragmentTabHost 参数2:要显示内容的类名 参数3:要传递的Bundle参数tabHost.addTab(tabSpec, MyFragment.class, null);//去掉分割线tabHost.getTabWidget().setDividerDrawable(android.R.color.white);//初始化tab选中tabHost.setCurrentTabByTag(TAG_CHAT);chatIndicator.setSelected(true);   //自定义的方法//设置Tab点击切换监听tabHost.setOnTabChangedListener(this);

以上就是FragmentTabHost的使用方法。

转载地址:http://xvvpi.baihongyu.com/

你可能感兴趣的文章
C++ 调用json
查看>>
nano中设置脚本开机自启动
查看>>
动态库调动态库
查看>>
Kubernetes集群搭建之CNI-Flanneld部署篇
查看>>
k8s web终端连接工具
查看>>
手绘VS码绘(一):静态图绘制(码绘使用P5.js)
查看>>
手绘VS码绘(二):动态图绘制(码绘使用Processing)
查看>>
基于P5.js的“绘画系统”
查看>>
《达芬奇的人生密码》观后感
查看>>
论文翻译:《一个包容性设计的具体例子:聋人导向可访问性》
查看>>
基于“分形”编写的交互应用
查看>>
《融入动画技术的交互应用》主题博文推荐
查看>>
链睿和家乐福合作推出下一代零售业隐私保护技术
查看>>
Unifrax宣布新建SiFAB™生产线
查看>>
艾默生纪念谷轮™在空调和制冷领域的百年创新成就
查看>>
NEXO代币持有者获得20,428,359.89美元股息
查看>>
Piper Sandler为EverArc收购Perimeter Solutions提供咨询服务
查看>>
RMRK筹集600万美元,用于在Polkadot上建立先进的NFT系统标准
查看>>
JavaSE_day12 集合
查看>>
JavaSE_day14 集合中的Map集合_键值映射关系
查看>>