Ho un TextView e voglio applicare uno stile che uso per tutti gli elementi TextView più un altro stile che uso solo all'interno di una specifica attività. C'è qualche possibilità di farlo?Come applicare due stili diversi a un elemento in Android?
risposta
Uno stile in Android può avere uno stile genitore.
Quindi è sufficiente che MyActivityTextView
definisca GeneralTextView
come genitore e modifichi/aggiunga proprietà di stile.
Quindi è possibile utilizzare MyActivityTextView
per alcune visualizzazioni e GeneralTextView
per gli altri.
È descritto in Defining Styles.
È possibile estendere un unico stile con un altro nel vostro style.xml:
<style name="current_weekday_white" parent="current_day_white">
<item name="android:textColor">#FFABAB</item>
</style>
hey ci ho provato con la visualizzazione del testo, ma solo il primo stile funziona, non quello esteso. qualche indizio? –
Solo un piccolo pezzo di informazioni che potrebbero aggiungere al valore complessivo della domanda - spudoratamente copiato da: http://developer.android.com/guide/topics/ui/themes.html#DefiningStyles
Se vuoi ereditare dagli stili che hai definito tu stesso, non devi usare l'attributo genitore. Invece, basta anteporre il nome dello stile che si desidera ereditare al nome del nuovo stile, separato da un punto. Ad esempio, per creare un nuovo stile che eredita lo stile CodeFont sopra definito, ma fare il colore rosso, è possibile all'autore il nuovo stile come questo:
<style name="CodeFont.Red">
<item name="android:textColor">#FF0000</item>
</style>
Si noti che non v'è alcun attributo padre nel tag, ma poiché l'attributo nome inizia con il nome di stile CodeFont (che è uno stile creato), questo stile eredita tutte le proprietà di stile da quello stile. Questo stile sovrascrive la proprietà android: textColor per rendere il testo rosso. Puoi fare riferimento a questo nuovo stile come @ style/CodeFont.Red.
È possibile continuare ad ereditare in questo modo tutte le volte che si desidera, concatenando nomi con punti. Ad esempio, è possibile estendere CodeFont.Red per essere più grande, con:
<style name="CodeFont.Red.Big">
<item name="android:textSize">30sp</item>
</style>
Trovo interessante il fatto che, anche se in precedenza ho visitato e studiato/scremato quella pagina, non conoscevo questa curiosità interessante e molto utile. Grazie a @Bruiser. – DavidDraughn
- 1. Applicare due stili di carattere diversi a TextView
- 2. Come posso applicare più stili XAML a un elemento?
- 3. Diversi stili colorControlActivated in Android
- 4. Applicare stili specifici a linee in un MultiGeometry in KML
- 5. Android applica stili per diversi schermi
- 6. Come applicare diversi stili CSS a 2 elementi con lo stesso nome di classe?
- 7. Android - due frasi, due stili, uno TextView
- 8. Come applicare due classi CSS a un singolo div/span
- 9. Perché la documentazione Perl open() utilizza due diversi stili FILEHANDLE?
- 10. Come applicare l'animazione di diapositiva tra due attività in Android?
- 11. Come applicare un tema a una barra degli strumenti Android?
- 12. Come applicare la transizione 3d tra due attività in Android?
- 13. JavaFX-2 - imposta diversi stili
- 14. Come applicare gli stili CSS al solo testo
- 15. reimposta più stili css per un elemento div singolo
- 16. Applicare stili diversi per inserire campi di testo quando sono vuoti (usando i CSS)?
- 17. Specificità CSS - In che modo "it" decide quali stili applicare?
- 18. Posso applicare più di una classe CSS3 a un elemento?
- 19. Tensoflow applicare op a ciascun elemento di un tensore 2d
- 20. Come si visualizzano gli stili CSS che si applicano a un elemento HTML in watir-webdriver?
- 21. Come applicare gli stili CSS al dropdown del codeign?
- 22. Diversi stili di flusso del programma?
- 23. Come applicare ngStyle a: elemento host nel componente?
- 24. Stili mancanti, utilizzando CardView in Android Studio
- 25. Come applicare un OR logico a un array in Excel
- 26. Due stili diversi in una singola visualizzazione di testo con gravità e altezza differenti
- 27. Come posso applicare uno stile vcl a un TPopupmenu?
- 28. applicare diversi eventi mouseover a nodi vicini (connessi)
- 29. Come rimuovere tutti gli stili ereditati e calcolati da un elemento?
- 30. Accesso programmatico a temi/stili/attrs in Android
Oh capisco. È grandioso, grazie molte. Ancora una domanda: lo stile figlio può sovrascrivere anche le proprietà dei genitori? – Bruiser
Sì, può sostituire le proprietà principali. –