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,一经查实,立即删除!

相关文章

PostgreSQL VACUUM 之深入浅出 (二)

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

分布式概念与协议

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

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…

strtok和strtok_r

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

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…

分享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…

Android中将一个图片切割成多个图片[转]

有种场景,我们想将一个图片切割成多个图片。比如我们在开发一个拼图的游戏,就首先要对图片进行切割。 以下是封装好的两个类,可以实现图片的切割。仅供参考和学习。 一个是ImagePiece类,此类保存了一个Bitmap对象和一个标识图片的…

并行开发 —— 第六篇 异步编程模型

在.net里面异步编程模型由来已久,相信大家也知道Begin/End异步模式和事件异步模式,在task出现以后,这些东西都可以被task包装 起来,可能有人会问,这样做有什么好处,下面一一道来。 一: Begin/En…

C++相关

初始化列表中的初始化顺序1 class Printer{2 public:3 Printer(string name){cout<<name;}4 };5 class Container{6 public:7 Container():b("b"),a("a"){}8 Printer a;9 Printer b; 10 }; 11 12 int main…

Java中的Unsafe在安全领域的一些应用总结和复现

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 目录* 0 前言 1 基本使用 1.1 内存级别修改值1.2 创建对象1.3 创建VM Anonymous Class 2 利用姿势 2.1 修改值以关闭RASP等…

Spring Boot中使用Swagger2构建强大的RESTful API文档

由于Spring Boot能够快速开发、便捷部署等特性&#xff0c;相信有很大一部分Spring Boot的用户会用来构建RESTful API。而我们构建RESTful API的目的通常都是由于多终端的原因&#xff0c;这些终端会共用很多底层业务逻辑&#xff0c;因此我们会抽象出这样一层来同时服务于多个…

关于公司没有公网IP也没有动态IP,如何远程办公呢?

2019独角兽企业重金招聘Python工程师标准>>> 迫于公司网络环境特殊&#xff0c;没有公网IP地址&#xff0c;也没有动态IP地址&#xff0c;其实就是园区分了一根内网固定IP的网线过来&#xff0c;这两天正巧有同事要外出办公&#xff0c;问题来了&#xff0c;开发环境…

ST_LINK/V2 SWIM和SWD、JTAG下载口说明

LED状态说明 闪烁红色&#xff1a;ST-LINK/V2连接到计算机后&#xff0c;第一次USB枚举过程红色&#xff1a;ST-LINK/V2与计算机已建立连接闪烁绿色/红色&#xff1a;目标板和计算机在进行数据交换绿色&#xff1a;通讯完成橙色&#xff08;红色绿色&#xff09;&#xff1a;通…

Gerrit的用法及与gitlab的区别

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 来到一个新的团队&#xff0c;开发的代码被同事覆盖了。找同事核实&#xff0c;同事却说根本没有看到我的代码。经过一番沟通…

The 15th UESTC Programming Contest Preliminary H - Hesty Str1ng cdoj1551

地址&#xff1a;http://acm.uestc.edu.cn/#/problem/show/1551 题目&#xff1a; Hesty Str1ng Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) A chrysanthemum was painted on the second page, and we tried to use the magic pow…

easyui 点滴记录

为什么80%的码农都做不了架构师&#xff1f;>>> 【1.安装】&#xff1a;pip install easygui 【2.常用】 integerbox 交互式输入数字textbox 交互式输入文本ccbox 确认判断boolbox 是否判断multchoicebox 多选条目choicebox 单选条目buttonbox 单选按钮【3.体验一…

IAR切BANK--BANK说明

一、为什么要用到BANK&#xff1f; C51单片机的最大寻址范围为2^1664K&#xff0c;为了突破64K代码的限制&#xff0c;就需要采用C51的切BANK。 二、切BANK的原理 代码地址空间的上半部 ,以重叠BANK0的物理地址空间 , 硬件设计了 n个存储 器页面来存储程序代码 。在任一时刻 …