1. 範例說明
- ViewPager實現滑動切換的效果,但是切換的幾個頁面只是調用了不同的layout,實際上還是在一個Activity裡面,對功能編寫就不方便了。所以,採用TabHost和ViewPager結合,使用TabHost切換Activity,使用ViewPager切換介面,從而完善轉場效果
- 原理就是把tabhost裡原有的的tabcontent隱藏掉,加一個viewpager,捕捉事件進而進行互相重新整理的動作。
2. 運行結果
3. 核心代碼
tabHost.setOnTabChangedListener(new OnTabChangeListener() {@Overridepublic void onTabChanged(String tabId) { tabHost.setOnTabChangedListener(new OnTabChangeListener() { @Override public void onTabChanged(String tabId) { if ("A".equals(tabId)) { pager.setCurrentItem(0); } if ("B".equals(tabId)) { pager.setCurrentItem(1); } if ("C".equals(tabId)) { pager.setCurrentItem(2); } } });}});pager.setAdapter(new MyPageAdapter(listViews));pager.setOnPageChangeListener(new OnPageChangeListener() {@Overridepublic void onPageSelected(int position) {tabHost.setCurrentTab(position);}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {}@Overridepublic void onPageScrollStateChanged(int arg0) {}});
4. 視頻講解
http://www.eyeandroid.com/thread-11826-1-1.html