TabHost中的標籤頁衆多,所以要做成橫向可滾動的,在TabWidget外加一層HorizontalScrollView.
由於TabHost中的item是TextView,並且每個TextView的寬度不一樣,這樣就會導致沒動到最後的時候會多出來一段空白,具體的原因如下:
TabWidget has measureWithLargestChild set to true by default, which means it is using the widest of tabs to calculate the overall width of the internal LinearLayout that TabWidget uses when it measures itself. If tabs are of different length this will lead to that internal LinearLayout having some extra space on the end from the difference between the shorter tabs and widest tab. So the solution is: add android:measureWithLargestChild="false"
to TabWidget layout.
xml中的代碼片段如下:
<HorizontalScrollView android:layout_width="match_parent" android:layout_height="wrap_content" android:fillViewport="true" android:scrollbars="none"> <TabWidget android:id="@android:id/tabs" android:layout_width="wrap_content" android:layout_height="wrap_content" android:measureWithLargestChild="false" android:divider="@null" /> </HorizontalScrollView>