TabHost 命名空间: android.widget.TabHost 初始化函数(必须在addTab之前调用): setup(); 包含两个子元素: 1.Tab标签容器TabWidget(@android:id/tabs) 2.Tab内容容器FrameLayout(@android:id/tabcontent) FragmentTabHost 命名空间: android.support.v4.app.FragmentTabHost android.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 中控制标签元素的选择。
- 浏览: 450375 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (377)
- Java (66)
- C++ (0)
- VC++ (0)
- .net (1)
- css (36)
- 数据库 (22)
- html (2)
- extjs (1)
- jpbm (0)
- javascript (31)
- 物资管理 (1)
- java基础 (5)
- C# (0)
- Android (56)
- window service (1)
- 其他 (2)
- Web服务器 (7)
- jbpm (1)
- eclipse (2)
- tomcat (3)
- java字符串与二进制的相互转化 (1)
- Oracle 数据库 (6)
- FreeMarker (8)
- 浏览器 (1)
- php (1)
- photoshop (6)
- spring (4)
- spring mvc (2)
- Acegi (1)
- webStorm 3.0 (4)
- Mongodb (8)
- mysql (9)
- 软件开发:需求分析 (1)
- 把Java程序作为Windows系统服务 (1)
- nodejs (4)
- json (1)
- 缓存 (1)
- J2ee (2)
- Flash报表 (1)
- MyEclipse+Maven+Tomcat (11)
- 生活 (1)
- Ubuntu (1)
- Bootstrap (1)
- jquery easy ui (2)
- 敏捷开发 (1)
- phone gap (1)
- rest (1)
- 移动开发 (22)
- Redis + Jedis + Spring (3)
- anroid (7)
- grunt 教程 (7)
- PhoneGap (2)
- sublime text (7)
- mariadb (1)
- linux (1)
- maven (2)
- jquery (1)
- ActiveMQ (1)
- LVS Nginx (1)
- nginx (6)
- ngnix (1)
- 爱因斯坦 (1)
- 天干地支 (1)
最新评论
-
muqingren:
...
Maven多模块布局实例详解 -
shutear:
解决了我的难题,谢谢分享!
Unable to load configuration. - action - file:/D:/studytool/apache-tomcat-6.0.16 -
702346318:
[img][/img][flash=200,200][/fla ...
CAS单点登录完整教程(上)【转】 -
liuguofeng:
PersonS631887934 写道学习中。。 有个问题想请 ...
js constructor属性 -
S631887934:
学习中。。 有个问题想请教楼主为什么要加上Person.pro ...
js constructor属性
发表评论
-
Android GridView属性集合
2015-02-27 15:01 1115GridView的一些特殊属性: 1.andr ... -
Android在listview添加checkbox实现原理与代码
2015-02-26 23:09 608Android在listview添加checkbox如何实 ... -
listview 选中高亮显示实现方法
2015-02-26 23:08 903人人客户端有一个很好的导航栏,如下图所示,当点击左侧List ... -
Android -----listView的属性大全
2015-02-03 11:52 777... -
Android中<meta-data>的使用
2015-02-02 14:49 735http://blog.sina.com.cn/s/blo ... -
Android Activity的切换动画
2015-01-31 23:21 1547app中Activity之间跳转方式太单调有没有。。。想改变 ... -
GitHub 优秀的 Android 开源项目
2015-01-18 00:06 1270GitHub 优秀的 Android 开 ... -
Android之ActionBar、Tabs、Fragment、ViewPager实现标签页切换并缓存页面
2014-12-29 16:48 780感觉 Android 到处都是坑,每个地方都要把人折腾半天。 ... -
Android APK反编译详解(附图)
2014-09-27 22:46 680本文Android反编译教程,测试环境: Win7 Ult ... -
ActionBar样式解析
2014-09-26 15:58 1382Android的装饰风格有多种,这些风格的不同之处主要体现在 ... -
slidingMenu的使用教程
2014-09-24 22:32 1650开源项目SlideMenu使用详解,有需要的朋友可以参考下 ... -
Android ViewGroup.setDescendantFocusability函数
2014-09-22 22:40 769这个函数是在ViewGroup里定义的,主要用于控制chil ... -
android 制作9.png图片
2014-09-22 14:42 1170... -
No tab content FrameLayout found for id xxxxxxx
2014-09-21 23:28 928android 4.4 自己加上的 androi ... -
FragmentTabHost切换Fragment时避免重复加载UI
2014-09-21 11:25 1000使用FragmentTabHost时,Fragment之间切 ... -
android源码查看 android-support-v4.jar
2014-09-21 10:45 1390想查看android-support-v4.jar的源码的时 ... -
Android Support v4、v7、v13的区别和应用场景
2014-09-20 18:52 808http://my.oschina.net/chengliq ... -
理解Fragment生命周期
2014-09-20 18:50 722官网帮助文档链接: http://developer.and ... -
: android.support.v4.app.SuperNotCalledException
2014-09-20 18:46 302809-20 18:44:40.842: E/AndroidR ... -
Android BadgeView使用介绍 (数字提醒提示)
2014-09-19 16:27 1464BadgeView主要是继承了TextView,所以实际上 ...
相关推荐
<TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/tabhost" android:layout_width="match_parent" android:layout_height="match_parent"> android:layout_...
Android开发实战经典_020714_标签:TabHost源代码和视频教程.zip
"Android 使用FragmentTabhost代替Tabhost" Android 使用FragmentTabhost代替Tabhost是 Android 开发中的一种常见实践。随着 Android 系统的发展,Fragment 的使用越来越广泛。Tabhost 虽然曾经是 Android 中最常用...
在Android开发中,`FragmentTabHost`是一个非常重要的组件,它是`TabHost`与`Fragment`结合的产物,主要用于在Android应用中实现多标签页功能,每个标签页可以承载一个`Fragment`。在这个名为"android-fragment-...
然而,随着Android系统版本的更新和设计指南的改变,TabLayout和ViewPager等组件逐渐取代了TabHost。但在一些旧项目或者特定场景下,仍然会用到TabHost。 在"Android fragment 内部嵌套tabhost组件"这个主题中,...
这是在Activity里实现TabHost添加片段或者FragmentTabHost里添加片段,但我更推荐使用FragmentTabHost里添加片段,这样可以避免诸如一个Activity通过意图传参数到包含片段的Activity时,片段可以实时多次获取意图...
TabLayout和FragmentTabHost是两种常用的组件,用于实现在不同页面间切换,提供良好的用户体验。本文将深入讲解如何利用这两个组件,以及与ViewPager和Fragment的配合,来实现底部状态栏的切换。 **TabLayout与...
在Android中,我们通常通过以下步骤来创建一个基本的TabHost: 1. 初始化TabHost:通过`TabHost tabHost = (TabHost)findViewById(R.id.tabhost);`获取到TabHost实例。 2. 设置布局:调用`tabHost.setup();`初始化...
2. 在Activity中初始化TabHost: 在对应的Activity类中,我们需要获取TabHost实例,然后设置TabHost的内容和标签。以下是一个简单的示例: ```java public class MainActivity extends AppCompatActivity { @...
总的来说,自定义TabHost是一个涉及UI设计和交互逻辑的过程,它可以让你的Android应用拥有独特的标签栏设计。通过学习和实践,开发者可以根据项目需求创建出符合品牌形象且功能完善的标签栏,提高用户的使用体验。
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:id="@+id/widget_layout_Blue" ...
- TabHost:这是Android SDK中的一个类,用于创建一个带有多个Tab的布局,每个Tab可以关联一个Activity或一个Fragment。 - ViewPager:来自于Android Support Library,主要用于展示一个可以左右滑动的视图容器,...
在Activity中设置TabHost: ```java TabHost tabHost = (TabHost) findViewById(R.id.tabhost); tabHost.setup(); // 添加Tab TabSpec tab1 = tabHost.newTabSpec("Tab1"); tab1.setIndicator("Tab1", ...
在Android开发中,TabHost是一个非常重要的组件,用于创建具有多个Tab标签的界面,每个标签可以展示不同的内容或活动(Activity)。...通过实践和学习,你可以掌握更多高级特性,提升Android应用的用户体验。
<TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/tabhost" android:layout_width="match_parent" android:layout_height="match_parent"> android:...
在Android应用开发中,`FragmentTabHost`是一个用于在Activity中创建带有标签页的组件,它结合了`Fragment`和`TabHost`的功能,能够帮助开发者实现更灵活、功能更强大的用户界面。`FragmentTabHost`是随着Android ...
2. 初始化TabHost:`tabHost.setup();` 3. 添加每个标签:通过`tabHost.newTabSpec()`创建新的标签规格,然后使用`setIndicator()`设置标签文字和图标,最后用`setContent()`指定与标签关联的布局或Intent。 4. 设置...