2011-09-29 13 views
9

Come posso aggiungere un'ombra sotto il testo del titolo?Honeycomb ActionBar Title Shadow

Il seguente file XML non esegue il trucco.

<style name="Theme" parent="android:style/Theme.Holo.Light"> 
    <item name="android:actionBarStyle">@style/ActionBar</item> 
    <item name="android:windowBackground">@drawable/background</item> 
</style> 

<style name="ActionBar" parent="android:style/Widget.Holo.ActionBar"> 
    <item name="android:background">@drawable/action_bar</item> 
    <item name="android:titleTextStyle">@style/TitleTextStyle</item> 
</style> 

<style name="TitleTextStyle" parent="android:style/TextAppearance.Large"> 
    <item name="android:textColor">@color/title_text_color</item> 
    <item name="android:textStyle">bold</item> 
    <item name="android:shadowColor">@color/title_shadow_color</item> 
    <item name="android:shadowDx">0</item> 
    <item name="android:shadowDy">0</item> 
    <item name="android:shadowRadius">1</item> 
</style> 
+0

Hai provato ad aumentare i valori Dx e Dy? – James

+0

Penso che questo sia un bug in Android, non riesco nemmeno a far funzionare le ombre sugli stili del titolo della actionbar. – sgarman

+0

@sgarman Ombre sul titolo della barra delle azioni inizia con l'API 18 (Android Jelly Bean 4.3) – AnAurelian

risposta

1

Aggiunta di un ombra sotto il titolo del (nativo) ActionBar funziona a partire dall'API 18 (Android Jelly Bean 4.3). Funziona bene con il livello API 19 (Android KitKat 4.4).

See my answer per codice XML e uno screenshot.

1

È lì, semplicemente non lo vedi. È necessario spostare l'ombra utilizzando (o entrambi) shadowDx o shadowDy

(wow, piuttosto una vecchia questione, come mai nessuna risposta, tranne il commento del tutto pertinente da @James)

+0

Ciò che voglio ottenere è qualcosa di simile a un bagliore, ecco perché dx e dy sono impostati su 0. Ciò che importa è solo il raggio nel mio caso ... ma il codice non funziona ... – Tughi

+0

Lo prendo, non c'è modo che tu non abbia provato a impostare un raggio più grande?) Ie l'ombra di 1 px senza spostamento potrebbe finire sotto il font stesso, o essere troppo piccola per poter essere notata. Prova qualcosa di sicuro, come 20 –