2012-04-14 9 views
50

Ho studiato Android e finora mi sono concentrato sulla funzionalità, ma ora sto iniziando a lavorare con i layout.Android - come impostare il colore di sfondo di tutti gli schermi?

Mi stavo chiedendo quale sia la migliore pratica per mantenere gli stili di caratteri e colori. Ho creato un file colors.xml che ho usato per cambiare i colori su elementi separati come i pulsanti, ma non sono sicuro di come Android desideri che gli sviluppatori organizzino i loro stili.

Ad esempio, vorrei che tutte le schermate avessero lo stesso colore di sfondo. Come lo faccio? È qualcosa che devo specificare per ogni xml di layout dell'attività? O altrove? Come lo realizzo?

Grazie!

+0

si crea [stili] (http://developer.android.com/guide/topics/ui/themes.html) e applicarle ai elementi dell'interfaccia utente – zapl

+0

@ è proprio quello che stavo facendo. Quello che mi chiedevo era come applicare uno stile all'intero schermo. Come un colore di sfondo per ogni schermo? – GeekedOut

+0

puoi applicare un tema di sfondo a ciascun LinearLayout più in alto (o qualsiasi altra cosa tu usi) oppure puoi farlo tramite un [tema per la tua attività] (http://developer.android.com/guide/topics/ui/themes. html # ApplyATheme) – zapl

risposta

134

Un modo rapido e semplice per assicurarsi che ogni attività abbia lo stesso colore di sfondo, è creare un tema per le attività da utilizzare. Quel tema dovrebbe specificare l'androide: windowBackground.

prima definire il colore dei valori/colors.xml

<resources> 
    <color name="background">#FF0000 </color> 
</resources> 

Creare un file themes.xml in res/valori che fa riferimento a quel colore:

<resources> 
<style name="MyTheme" parent="@android:style/Theme.Light"> 
    <item name="android:windowBackground">@color/background</item> 
</style> 
</resources> 

... e poi nella vostra AndroidManifest.xml specifica questo come tema per le tue attività da utilizzare.

<activity 
     android:name=".MyActivity" 
     android:theme="@style/MyTheme" /> 
+3

Ho ricevuto un errore durante l'implementazione di questo codice in themes.xml in quanto non riconosce il codice colore esadecimale qui: ​​# FF0000

+7

basta inserire l'esagono di colore in un @ risorsa colore, quindi fare riferimento in tal modo ​​@ color/my_background

+1

questa non è la risposta giusta. per favore correggi la tua risposta in modo che corrisponda al commento di Chris NPike –

5

È inoltre possibile impostare lo sfondo a livello di applicazione in AndroidManifest.xml

<application 
    ... 
    android:theme="@style/MyTheme"> 

(Nota: io non posso questo come un commento della risposta accettata come la mia reputazione è troppo bassa).

17

Aggiorna il tuo studio Android a 1.4 ha un editor di temi integrato. come potete vedere qui sotto in immagine

enter image description here

+1

come aprire Theme Editir nella versione di anteprima di Android 2.1 –

+0

apri il file styles.xml e vedrai il testo aperto nell'editor in alto a destra. –

+0

Ma il mio caso si nasconde e il problema lo risolve quando si riavvia android studio grazie show mach –

Problemi correlati