Android学习笔记:TabHost 和 FragmentTabHost(转)
生活随笔
收集整理的這篇文章主要介紹了
Android学习笔记:TabHost 和 FragmentTabHost(转)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Android學(xué)習(xí)筆記:TabHost 和 FragmentTabHost(轉(zhuǎn)) 轉(zhuǎn)自:http://www.cnblogs.com/asion/p/3339313.html
作者:Asion Tang 出處:http://asiontang.cnblogs.com TabHost命名空間:android.widget.TabHost初始化函數(shù)(必須在addTab之前調(diào)用):setup(); 包含兩個(gè)子元素:1.Tab標(biāo)簽容器TabWidget(@android:id/tabs)2.Tab內(nèi)容容器FrameLayout(@android:id/tabcontent)FragmentTabHost命名空間:android.support.v4.app.FragmentTabHostandroid.support.v13.app.FragmentTabHost初始化函數(shù)(必須在addTab之前調(diào)用):setup(this, getSupportFragmentManager(), R.id.realtabcontent);包含三個(gè)子元素:1.Tab標(biāo)簽 容器TabWidget(@android:id/tabs)2.Tab內(nèi)容 容器FrameLayout [寬高皆為0dp](@android:id/tabcontent)3.Tab內(nèi)容 容器FrameLayout [真正的容器](@+id/RealTabContent)疑問:為什么同時(shí)存在TabContent 和 RealTabContent 兩個(gè)FrameLayout? 答疑:《關(guān)于FragmentTabHost中TabWidget不能移到屏幕下面的Bug》http://blog.csdn.net/wklbeta/article/details/11329207資料:《Android開發(fā):使用Fragment改造TabActivity》http://www.blogjava.net/amplifier/archive/2012/12/27/393409.html經(jīng)驗(yàn) - 實(shí)現(xiàn)Tab功能的幾種方式: 1.(廢棄)繼承自TabActivity + TabHost 布局 + Activity 內(nèi)容1.1:TabActivity為ActivityGroup[在版本13里被放棄]子類1.2:使用getTabHost() 獲得TabHost 對(duì)象1.3:使用 newTabSpec(...).setContent(Intent) 添加Tab標(biāo)簽與內(nèi)容 2.(廢棄)繼承自ActivityGroup + TabHost布局 + Activity 內(nèi)容2.1:ActivityGroup在版本13里被放棄2.2:使用findViewById 獲得TabHost 對(duì)象2.3:使用setup(new LocalActivityManager(this, true))初始化2.4:使用 newTabSpec(...).setContent(Intent) 添加Tab標(biāo)簽與內(nèi)容 3.(簡單)繼承自FragmentActivity + FragmentTabHost 布局 + Fragment 內(nèi)容3.1:使用findViewById 獲得FragmentTabHost 對(duì)象3.2:使用setup(this, getSupportFragmentManager(), R.id.realtabcontent)初始化3.3:使用addTab(newTabSpec().setIndicator(),Fragment.class, null) 添加Tab標(biāo)簽與內(nèi)容 4.(復(fù)雜)繼承自FragmentActivity + TabHost 布局 + ViewPager布局 + Fragment 內(nèi)容4.1:使用findViewById 獲得TabHost 對(duì)象4.2:使用setup()初始化4.3:使用TabHost.addTab(tabSpec.setContent(DummyTabFactory));添加Tab標(biāo)簽與空內(nèi)容4.4:在TabHost.onTabChanged中控制ViewPager的實(shí)際顯示4.5:滑動(dòng)時(shí)在ViewPager.onPageSelected 中控制Tab標(biāo)簽的選擇。PS:當(dāng)Tab標(biāo)簽數(shù)量固定且不追求和系統(tǒng)保持一致的標(biāo)簽效果,的情況下這里的TabHost布局有些多余。如 :特有應(yīng)用需要的Tab標(biāo)簽固定,且有自己的一套顯示效果,那么這里完全無需TabHost布局。 5.(DIY)繼承自FragmentActivity + 自定義布局 + ViewPager布局 + Fragment 內(nèi)容5.1:自定義布局中嵌入固定Tab標(biāo)簽元素5.2:在標(biāo)簽元素點(diǎn)擊事件中控制ViewPager的實(shí)際顯示5.3:滑動(dòng)時(shí)在ViewPager.onPageSelected 中控制標(biāo)簽元素的選擇。 posted on 2014-04-02 11:33 羅斯摩根 閱讀(...) 評(píng)論(...) 編輯 收藏
作者:Asion Tang 出處:http://asiontang.cnblogs.com TabHost命名空間:android.widget.TabHost初始化函數(shù)(必須在addTab之前調(diào)用):setup(); 包含兩個(gè)子元素:1.Tab標(biāo)簽容器TabWidget(@android:id/tabs)2.Tab內(nèi)容容器FrameLayout(@android:id/tabcontent)FragmentTabHost命名空間:android.support.v4.app.FragmentTabHostandroid.support.v13.app.FragmentTabHost初始化函數(shù)(必須在addTab之前調(diào)用):setup(this, getSupportFragmentManager(), R.id.realtabcontent);包含三個(gè)子元素:1.Tab標(biāo)簽 容器TabWidget(@android:id/tabs)2.Tab內(nèi)容 容器FrameLayout [寬高皆為0dp](@android:id/tabcontent)3.Tab內(nèi)容 容器FrameLayout [真正的容器](@+id/RealTabContent)疑問:為什么同時(shí)存在TabContent 和 RealTabContent 兩個(gè)FrameLayout? 答疑:《關(guān)于FragmentTabHost中TabWidget不能移到屏幕下面的Bug》http://blog.csdn.net/wklbeta/article/details/11329207資料:《Android開發(fā):使用Fragment改造TabActivity》http://www.blogjava.net/amplifier/archive/2012/12/27/393409.html經(jīng)驗(yàn) - 實(shí)現(xiàn)Tab功能的幾種方式: 1.(廢棄)繼承自TabActivity + TabHost 布局 + Activity 內(nèi)容1.1:TabActivity為ActivityGroup[在版本13里被放棄]子類1.2:使用getTabHost() 獲得TabHost 對(duì)象1.3:使用 newTabSpec(...).setContent(Intent) 添加Tab標(biāo)簽與內(nèi)容 2.(廢棄)繼承自ActivityGroup + TabHost布局 + Activity 內(nèi)容2.1:ActivityGroup在版本13里被放棄2.2:使用findViewById 獲得TabHost 對(duì)象2.3:使用setup(new LocalActivityManager(this, true))初始化2.4:使用 newTabSpec(...).setContent(Intent) 添加Tab標(biāo)簽與內(nèi)容 3.(簡單)繼承自FragmentActivity + FragmentTabHost 布局 + Fragment 內(nèi)容3.1:使用findViewById 獲得FragmentTabHost 對(duì)象3.2:使用setup(this, getSupportFragmentManager(), R.id.realtabcontent)初始化3.3:使用addTab(newTabSpec().setIndicator(),Fragment.class, null) 添加Tab標(biāo)簽與內(nèi)容 4.(復(fù)雜)繼承自FragmentActivity + TabHost 布局 + ViewPager布局 + Fragment 內(nèi)容4.1:使用findViewById 獲得TabHost 對(duì)象4.2:使用setup()初始化4.3:使用TabHost.addTab(tabSpec.setContent(DummyTabFactory));添加Tab標(biāo)簽與空內(nèi)容4.4:在TabHost.onTabChanged中控制ViewPager的實(shí)際顯示4.5:滑動(dòng)時(shí)在ViewPager.onPageSelected 中控制Tab標(biāo)簽的選擇。PS:當(dāng)Tab標(biāo)簽數(shù)量固定且不追求和系統(tǒng)保持一致的標(biāo)簽效果,的情況下這里的TabHost布局有些多余。如 :特有應(yīng)用需要的Tab標(biāo)簽固定,且有自己的一套顯示效果,那么這里完全無需TabHost布局。 5.(DIY)繼承自FragmentActivity + 自定義布局 + ViewPager布局 + Fragment 內(nèi)容5.1:自定義布局中嵌入固定Tab標(biāo)簽元素5.2:在標(biāo)簽元素點(diǎn)擊事件中控制ViewPager的實(shí)際顯示5.3:滑動(dòng)時(shí)在ViewPager.onPageSelected 中控制標(biāo)簽元素的選擇。 posted on 2014-04-02 11:33 羅斯摩根 閱讀(...) 評(píng)論(...) 編輯 收藏
轉(zhuǎn)載于:https://www.cnblogs.com/savagemorgan/p/3640251.html
總結(jié)
以上是生活随笔為你收集整理的Android学习笔记:TabHost 和 FragmentTabHost(转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android LitePal使用总结
- 下一篇: 关于快速开发和设计应用系统的一些个人的意