Android学习笔记:TabHost 和 FragmentTabHost

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

Android学习笔记:TabHost 和 FragmentTabHostTabHost命名空间:android.widget.TabHost初始化函数(必须在addTab之前调用):setup(); 包含两个子元素:1.Tab标签容器TabWidget(@android:id/tabs)2.Tab内容容器FrameLayout(@android:id/tabcontent)FragmentTabHost命名空间:android.support.v4.app.FragmentTabHostandroid.support.v13.app.FragmentTabHost初始化函数(必须在addTab之前调用):setup(this, getSupportFragmentManager(), R.id.realtabcontent);包含三个子元素:1.Tab标签 容器TabWidget(@android:id/tabs)2.Tab内容 容器FrameLayout [宽高皆为0dp](@android:id/tabcontent)3.Tab内容 容器FrameLayout [真正的容器](@+id/RealTabContent)疑问:为什么同时存在TabContent 和 RealTabContent 两个FrameLayout?答疑:《关于FragmentTabHost中TabWidget不能移到屏幕下面的Bug》http://blog.csdn.net/wklbeta/article/details/11329207资料:《Android开发:使用Fragment改造TabActivity》http://www.blogjava.net/amplifier/archive/2012/12/27/393409.html经验 - 实现Tab功能的几种方式:        1.(废弃)继承自TabActivity + TabHost 布局 + Activity 内容1.1:TabActivity为ActivityGroup[在版本13里被放弃]子类1.2:使用getTabHost() 获得TabHost 对象1.3:使用 newTabSpec(...).setContent(Intent) 添加Tab标签与内容        2.(废弃)继承自ActivityGroup + TabHost布局 + Activity 内容2.1:ActivityGroup在版本13里被放弃2.2:使用findViewById 获得TabHost 对象2.3:使用setup(new LocalActivityManager(this, true))初始化2.4:使用 newTabSpec(...).setContent(Intent) 添加Tab标签与内容        3.(简单)继承自FragmentActivity + FragmentTabHost 布局 + Fragment 内容3.1:使用findViewById 获得FragmentTabHost 对象3.2:使用setup(this, getSupportFragmentManager(), R.id.realtabcontent)初始化3.3:使用addTab(newTabSpec().setIndicator(),Fragment.class, null) 添加Tab标签与内容        4.(复杂)继承自FragmentActivity + TabHost 布局 + ViewPager布局 + Fragment 内容4.1:使用findViewById 获得TabHost 对象4.2:使用setup()初始化4.3:使用TabHost.addTab(tabSpec.setContent(DummyTabFactory));添加Tab标签与空内容4.4:在TabHost.onTabChanged中控制ViewPager的实际显示4.5:滑动时在ViewPager.onPageSelected 中控制Tab标签的选择。                PS:当Tab标签数量固定且不追求和系统保持一致的标签效果,的情况下这里的TabHost布局有些多余。如 :特有应用需要的Tab标签固定,且有自己的一套显示效果,那么这里完全无需TabHost布局。        5.(DIY)继承自FragmentActivity + 自定义布局 + ViewPager布局 + Fragment 内容5.1:自定义布局中嵌入固定Tab标签元素5.2:在标签元素点击事件中控制ViewPager的实际显示5.3:滑动时在ViewPager.onPageSelected 中控制标签元素的选择。


转载于:https://my.oschina.net/u/1424386/blog/341377

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/401300.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

转HTML、CSS、font-family:中文字体的英文名称

宋体 SimSun 黑体 SimHei 微软雅黑 Microsoft YaHei 微软正黑体 Microsoft JhengHei 新宋体 NSimSun 新细明体 PMingLiU 细明体 MingLiU 标楷体 DFKai-SB 仿宋 FangSong 楷体 KaiTi 仿宋_GB2312 FangSong_GB2312 楷体_GB2312 KaiTi_GB2312 宋体:SimSuncss中中文字体…

PostgreSQL VACUUM 之深入浅出 (二)

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 AUTOVACUUM AUTOVACUUM 简介 PostgreSQL 提供了 AUTOVACUUM 的机制。 autovacuum 不仅会自动进行 VACUUM,也…

基本概念-数据类型

参考:http://edu.51cto.com/roadmap/view/id-59.html5.数据类型5.1 数据类型可以使变量知道如何分配内存空间。例如,char类型占用1个字符,int通常占用4个字节5.2 C 语言常用的数据类型有 int sort 浮点型 double float字符串 char指针&#x…

android webview控件的缩放问题 隐藏缩放控件

利用java的反射机制 public void setZoomControlGone(View view) { Class classType; Field field; try { classType WebView.class; field classType.getDeclaredField("mZoomButtonsController"); field.setAccessible(true); ZoomButtonsController mZoomButton…

分布式概念与协议

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 分布式协议 分布式理论概念 1. 分布式数据一致性 分布式数据一致性,指的是数据在多个副本中存储时&#xff…

C语言中的转义字符

在字符集中,有一类字符具有这样的特性:当从键盘上输入这个字符时,显示器上就可以显示这个字符,即输入什么就显示什么。这类字符称为可显示字符,如a、b、c、$、和空格符等都是可显示字符。 另一类字符却没有这种特性。它…

最常被程序员们谎称读过的计算机书籍

英文原文:Books Programmers Claim to Have Read 马克吐温曾经说过,所谓经典小说,就是指很多人希望读过,但很少人真正花时间去读的小说。这种说法同样适用于“经典”的计算机书籍。 在 Stack Overflow (以及其它很多软件论坛)上&…

java Web监听器导图详解

监听器是JAVA Web开发中很重要的内容,其中涉及到的知识,可以参考下面导图: Web监听器 1 什么是web监听器? web监听器是一种Servlet中的特殊的类,它们能帮助开发者监听web中的特定事件,比如ServletContext,H…

Linux C/C++ UDP Socket 网络通信

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 昨晚 Vv 让我给她讲讲网络编程,于是我就傻乎乎的带她入了门… 以下内容为讲课时制作的笔记~ 1. sock…

PCB布线规则

PCB布线有单面布线、双面布线及多层布线。布线的方式也有两种:自动布线及交互式布线,在自动布线之前,可以用交互式预先对要求比较严格的线进行布线,输入端与输出端的边线应避免相邻平行,以免产生反射干扰。必要时应加地…

strtok和strtok_r

strtok和strtok_r原型:char *strtok(char *s, char *delim); 功能:分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。 说明:首次调用时,s指向要分解的字符串,之后再次调用要把s设成NULL。 …

ConTeXt 标题前后的空白

由于标题字一般都挺大,所以默认时标题之间的空白比较大,尤其是当多个标题在一起的时,空白就显得格外地大! 要去除空白可以这样做:\setuphead[chapter][before\nowhitespace,after\nowhitespace] 当然,我们也…

PHP 实现简单的 倒计时 时分秒

// 以 YII框架为例: C 层代码public function actionIndex(){//php的时间是以秒算。js的时间以毫秒算date_default_timezone_set("Asia/Hong_Kong");//地区//配置每天的活动时间段$starttimestr "18:53:00";//转换为时间戳$starttimestr …

芯片封装名称说明

1、BGA(ball grid array)   球形触点陈列,表面贴装型封装之一。在印刷基板的背面按陈列方式制作出球形凸点用以代替引脚,在印刷基板的正面装配LSI 芯片,然后用模压树脂或灌封方法进行密封。也称为凸点陈列载体(PAC)。引脚可超过200&#xf…

Django ORM

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 目录* Django ORM ORM实操之数据库迁移 ORM实操之字段的修改 ORM实操之数据的增删改查 数据库同步 ORM创建表关系 Dja…

html5 的百度地图连接

在一些网站上,我们经常会看到一些地址会有一个图标的形式展现,当你点击的时候就会加载一个你点击区域的地图出来,很神奇的一个功能,在之前是没有这样功能的,都是直接写上地址,你要去的话自己找去吧&#xf…

分享25个高质量的移动设备wordpress主题(Mobile theme)

日期:2012-9-10 来源:GBin1.com wordpress毋庸置疑是占有量最大的博客管理系统。提供强大的功能和使用的主题及其自定义模块。随着移动互联网的发展,更多的人开始使用移动设备访问互联网,为了更好的迎合用户的需要,我…

.NET NPOI导出Excel详解

http://www.cnblogs.com/yinrq/p/5590970.html .NET NPOI导出Excel详解 NPOI,顾名思义,就是POI的.NET版本。那POI又是什么呢?POI是一套用Java写成的库,能够帮助开发者在没有安装微软Office的情况下读写Office的文件。 支持的文件格…

c++隐式类型转换存在的陷阱

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 目录* 目标代码 构造函数定义的隐式类型转换分析a1分析a2分析a3 1|0目标代码 旨在弄懂下面的代码,明确变量a1…

PCB布局布线技巧

1、[问]高频信号布线时要注意哪些问题? [答] 1.信号线的阻抗匹配; 2.与其他信号线的空间隔离; 3.对于数字高频信号,差分线效果会更好; 2、[问]在布板时,如果线密,过孔就可能要多,当然…