我使用下面的風格連同一套九個補丁圖像來創建一些Ice Cream Sandwich的標籤,而不是標準的藍線底部的紅線:如何設計冰淇淋三明治標籤之間的分隔線?
<style name="customTabStyle" parent="@android:style/Widget.Holo.ActionBar.TabBar">
<item name="android:tabStripLeft">@null</item>
<item name="android:tabStripRight">@null</item>
<item name="android:tabStripEnabled">false</item>
<item name="android:showDividers">none</item>
<item name="android:measureWithLargestChild">true</item>
<item name="android:background">@drawable/tab_line</item>
<item name="android:gravity">center</item>
</style>
<style name="customTabBar" parent="@android:style/Widget.Holo">
<item name="android:showDividers">middle</item>
<item name="android:divider">@drawable/divider2</item>
<item name="android:dividerPadding">0dp</item>
</style>
<style name="LightThemeSelector" parent="android:Theme.Holo.Light">
<item name="android:actionBarTabStyle">@style/customTabStyle</item>
<item name="android:actionBarTabBarStyle">@style/customTabBar</item>
</style>
紅線所示除了選項卡之間的分隔符之外,每個選項都很好看。 正如您可以在圖像中的綠色框內看到的那樣,該線不會被劃分到分隔線之下。 我該如何選擇一個drawable,或者這個divider的風格?
android:divider
和android:showDividers
項目不負責選項卡之間的分隔符。他們只選擇在選項卡圖標和選項卡標題之間繪製的分隔線。我隱藏了這些分頻器,因爲沒有標題,分頻器看起來很奇怪。
更新從Aneal記住我添加了第二個風格customTabBar答案。樣式選擇一個drawable作爲分隔符。分頻器與以下9patch繪製創造了一個黑色實線:
有了這個可繪製的隔板被繪製,但也有一個空行旁邊:
問題在於你的問題九個補丁。如果您在SDK中搜索「list_divider_holo_」,您會發現用於ActionBar選項卡分隔符的所有九個補丁。如果你想做一個準確的,我會用SDK中的一個作爲模板。你也可以嘗試調整填充。 – adneal 2012-02-07 08:53:03
我的9個補丁可繪製沒有問題。按照您的建議使用SDK中的drawable可以獲得相同的結果。 – Janusz 2012-02-07 09:06:45
嗯。像這樣想。如果你對所有東西都使用默認的drawable,分隔線就會正確排列,因此,你改變的東西就是這裏的罪魁禍首。如果它不是九個補丁,那麼也許它是你的標籤。我不知道,我無法測試你正在使用的繪圖板,在這裏也沒有其他人可以。如果我是你,我會開始檢查列表中的東西,看看他們爲什麼偏離中心。檢查你的風格和drawables。 – adneal 2012-02-07 09:11:27