2012-07-06 11 views
5

Sto costruendo un'app che utilizza alcuni temi per le sue attività. Funzionano tutti bene e dandy sui telefoni che eseguono versioni pre-ICS di Android, ma per qualche ragione quando applico i temi su un Galaxy Nexus (in esecuzione 4.1) e su un Nexus S (in esecuzione 4.0.4) lo sfondo è sempre nero.I temi sembrano essere ignorati in ICS

Ecco uno dei temi che sto usando che non funziona:

<style name="BlueStyle" parent="@android:style/Theme.Holo.NoActionBar"> 
    <item name="android:background">@color/Blue</item> 
    <item name="android:textColor">@android:color/white</item> 
    <item name="android:textSize">16dip</item> 
</style> 

Il colore blu è definito nel mio res/values/colors.xml. Il tema è in res/values-v11/styles.xml e viene fatto riferimento nel mio manifesta in questo modo:

<activity 
     android:name=".activity.SplashActivity" 
     android:theme="@style/BlueStyle" 
     android:configChanges="orientation|keyboardHidden|screenSize"/> 

E come ho detto, un tema simile (sotto res/values, utilizzando @android:style/Theme.NoTitleBar come il genitore) funziona bene per la stessa attività in su pre-ICS versioni di Android. Anche se vado nel file di layout e faccio lo sfondo del layout @color/Blue, sarà ancora nero se il tema è assegnato all'attività. Ho trovato, tuttavia, che se imposto il tema su @android:style/Theme.NoTitleBar, l'attività utilizzerà il colore blu che ho forzato nel file di layout.

Ho anche provato a impostare BlueStyle come tema per l'intera applicazione, ma non fa alcuna differenza.

Qualcun altro ha riscontrato questo problema in precedenza? Questa è la prima volta che cerco di supportare sia i temi pre-v11 che v11 +, quindi potrei fare un errore davvero ovvio.

Modifica: Inoltre, ho dimenticato di menzionare che vedo il colore blu per una frazione di secondo quando inizia la mia attività, ma lo sfondo diventa nero. Non sono sicuro se queste informazioni ti saranno d'aiuto.

Edit # 2: Ho anche appena testato su un Galaxy Tab 10.1 in esecuzione 3.2 e ha il problema pure.

risposta

1

Dal punto di vista delle cose, le attività tematiche sono semplicemente interrotte in Honeycomb e versioni successive. Ho "risolto" il mio problema rimuovendo i temi specifici di Attività e aggiungendo invece gli stili ai miei file di layout.

Se riscontri questo problema, assicurati di rimuovere i temi dalle attività nel tuo AndroidManifest.xml prima di applicarli ai tuoi layout. Altrimenti, il problema persisterà.

-1

Nel .xml, qual è il tema del mouse in alto selezionato in tema. Seleziona anche la casella a discesa e fai clic su apri quindi dichiaro e assicurati che xml sia corretto sia lì che nell'amminifest di Android.

Ho notato che anche se Ichanged gli stili per qualche motivo li accetterebbe subito ho dovuto salvarli più volte.

+0

Non ho alcun tema impostato sul file di layout effettivo o su qualsiasi vista nel layout. Ho impostato solo temi a livello di attività nel manifest. Sia il file manifest che il layout xml sembrano buoni, e il layout xml è in realtà molto semplice (solo un LinearLayout con un ImageView). Ho pulito il progetto, riavviato Eclipse e riavviato e non ha fatto la differenza. – BigFwoosh

+0

hai provato ad aggiungere all'elemento di layout effettivo nella cartella di layout style = "@ style/BlueStyle" –

+0

L'ho provato e non ha avuto alcun effetto. – BigFwoosh