6

Sto usando la libreria v7 supporto per implementare ActionBar nei miei app..I hanno questo nel mio file styles.xmlL'applicazione di un tema per V7 Azione di sostegno Bar

<?xml version="1.0" encoding="utf-8"?> 
<resources xmlns:android="http://schemas.android.com/apk/res/android"> 
    <style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar"> 
     <item name="android:actionBarStyle">@style/ActionBarTheme</item> 
    </style> 
    <style name="ActionBarTheme" parent="android:Widget.ActionBar"> 
     <item name="android:background">#FFFF0000</item> 
    </style> 
</resources> 

Tuttavia, Eclipse si lamenta nella linea actionBarStyle. L'errore è questo:

android:actionBarStyle requires API level 11 (current min is 8)

Cosa posso fare per applicare il mio tema di livelli di API 8-10?

risposta

11

È necessario fornire due stili API.xml specifici. Nei vostri valori/styles.xml utilizzare

<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar"> 
     <item name="actionBarStyle">@style/ActionBarTheme</item> 
</style> 

e nella vostra valori-V14/styles.xml utilizzare

<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar"> 
     <item name="android:actionBarStyle">@style/ActionBarTheme</item> 
</style> 
+0

funzionato come un fascino. Grazie! – razielsarafan

+1

non scambieresti 'AppCompat' con' Holo' per 'values-v14/styles.xml' ?? – xLite

+0

Theme.AppCompat è derivato da Holo per API 14+. Quindi non devi farlo da solo. Questo aiuta a mantenere il tuo codice coerente. – hitmaneidos

0

Se si utilizza ultima libreria di supporto v7 (V21, al momento di questo post), non è necessario aggiungere il prefisso android: a nessun attributo della barra delle azioni.

Nel tuo caso, aggiungendo quanto segue al values/styles.xml sarà sufficiente:

<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar"> 
    <item name="actionBarStyle">@style/ActionBarTheme</item> 
</style> 

Riferimento: https://chris.banes.me/2014/10/17/appcompat-v21/#migration-from-previous-setup

+0

Potete per favore pubblicare anche il completo styles.xml con l'esempio ActionBarTheme? Ho cercato per ore senza successo :( – velis

+1

estendo dallo stile AppCompat, è possibile sfogliare per vedere quali sono a disposizione per eseguire l'override – hidro

+0

non funziona per me Forse sto ignorando proprietà sbagliate ('.. background, 'textColor'). Ho notato che il titolo ActionBar ha risposto alle modifiche di sfondo/colore di TextView quando stavo facendo quelle. – velis