2013-01-21 50 views
1

我有一個應用自定義主題的應用程序,我使用傑克沃頓的greate ViewPagerIndicator庫。不幸的是,這個主題需要第一個和最後一個Tab指標具有圓形的外端。在Jake Wharton的ViewPagerIndicator中支持android:state_first =「true」?

它應該看起來像這樣:

should look like so

我以爲我可以使用一個特殊的selector繪製如下圖所示(簡化)實現這一點,但顯然state_first,state_middle,state_last不支持 - 當我使用它們時,背景是簡單的空白,而當我沒有時,它是可以的(除了最外面的標籤)。

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

<!-- middle buttons --> 
<item android:state_middle="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/groupbutton_normal" /> 
<item android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/groupbutton_pressed" /> 

<!-- first button --> 
<item android:state_first="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/groupbutton_first_normal" /> 
<item android:state_first="true" android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/groupbutton_first_pressed" /> 

<!-- lastbutton --> 
<item android:state_last="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/groupbutton_first_normal" /> 
<item android:state_last="true" android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/groupbutton_first_pressed" /> 

</selector> 

它的工作原理沒有middle, first, last狀態,看起來像這樣的話:只有

工程這個樣子:

enter image description here

我已經有了一看代碼,但這些標籤只是內的一堆TabView(衍生自TextView),我想這不支持這些狀態屬性。

那麼有沒有人有解決這個問題的實現或想法?

+0

因此,在整個互聯網上沒有任何地方可以找到使用android:state_first和android:state_last的清晰解釋。我也嘗試將這些用於Spinner下拉列表,但這並不起作用。 – Roel

回答

0

我遇到了同樣的問題,我通過製作三個選擇器,一個用於中間按鈕,另一個用於第一個按鈕,另一個用於最後一個按鈕,解決了這個問題。然後,我必須在佈局文件中爲每個按鈕設置正確的選擇器。

我知道只是一個解決方法,並沒有解決android:state_first =「true」的問題,但至少你的佈局看起來不錯。