最近在一個小項目裡遇見一個問題,就是用TabWidget加上ViewPager做出一個可以滑動的Tab效果。效果在Android2.3上顯示效果還是可以的,但是在4.0系統上就會使 TabWeight變成holo風格。如果在Tabweight裡面添加了文字和表徵圖。在4.0系統中預設只顯示文字(文字為空白時顯示表徵圖)。
同一個應用,兩種顯示效果,對我來說是接受不了的。
然後在網上搜了一圈
找到一個解決辦法:http://stackoverflow.com/questions/10745092/icon-in-tab-is-not-showing-up
但是我覺得這樣自訂TabWeight會把一個簡單的問題越搞越複雜
初衷只是做一個可以滑動的TAB介面,這樣用tabhost,ViewPager,還要自訂TabWeight,感覺結構就太繁瑣了。不如把問題簡單化。
把風格確定為holo風格,為了相容4.0之前的版本,使用ActionBarSherlock包
ActionBarSherlock可以去網站下 http://actionbarsherlock.com/download.html
也可以去GIT上找 https://github.com/JakeWharton/ActionBarSherlock
使用ActionBarSherlock裡的tab,holo風格比較簡潔,索性也就不加icon表徵圖什麼的了。
就不貼自己的代碼了,網上找了個例子,把關鍵代碼貼一下,有興趣的還是去原帖看看吧,很詳細。
MyFragmentPagerAdapter PAGE_COUNT = 2 Fragment getItem(= 0= "current_page", arg0+1 1= "current_page", arg0+1
主MainActivity的代碼,然后里面的FragmentActivity就隨便加兩個就行了
MainActivity ==== onPageSelected(= = ="Android"="Apple"
例子的連結http://wptrafficanalyzer.in/blog/implement-swiping-between-tabs-with-viewpager-in-action-bar-using-sherlock-library/ 有興趣的同學去看看吧