Android ScrollView和TabHost混合使用問題記錄

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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章