Android: Do Ho solo un colpo per ogni proprietà attraverso l'uso di temi? Non c'è nulla come CSS in Android?

StackOverflow https://stackoverflow.com/questions/3751663

Domanda

Qui scrivono:

  

Per applicare una definizione di stile come un tema, è necessario applicare lo stile ad un'attività o applicazione nel manifesto di Android. Quando lo fa, ogni vista all'interno della   Attività o applicazione si applicheranno   ogni proprietà che supporta. Per   ad esempio, se si applica il CodeFont   stile dagli esempi precedenti ad un   Attività, poi tutti gli elementi che Visualizza   sostenere le proprietà di stile di testo saranno   applicarle.

Così, quando ho impostato TextColor a Red, fare tutti gli elementi con il cambiamento di testo al rosso ?? Arent ci potente identificatore come in CSS fogli di stile? Ho appena vedere il concetto di stili (style="@style/CodeFont") praticabili.

È stato utile?

Soluzione

In risposta ai vostri commenti si potrebbe trovare quello che cercate con la textAppearance proprietà.

Aprire il file themes.xml qui:
https: // android.googlesource.com/platform/frameworks/base/+/froyo-release/core/res/res/values/themes.xml

Se fate una scoperta per textAppearance si notano varie voci come ad esempio:

<style name="Theme">
    <item name="textAppearanceButton">@android:style/TextAppearance.Widget.Button</item>
    ...
    <item name="panelTextAppearance">?android:attr/textAppearanceInverse</item>
    ...

In questo modo si consente una certa misura allo stile dei componenti in tutta l'applicazione, come mostrato nell'esempio Maragues.

Così, mentre la sua non è possibile controllare pienamente lo stile di tutti gli elementi figlio withint dire una listview, scorrere visualizzare ecc, c'è qualche supporto limitato per controllare gli stili di alcuni componenti di testo base, come la TextView eo Button.

Altri suggerimenti

Se avete letto appena sotto il testo citato:

Per impostare un tema per tutte le attività della vostra applicazione, aprire il file AndroidManifest.xml e modificare il tag per includere l'attributo android: tema con il nome di stile

Se volete un tema applicato a un solo attività nell'applicazione, quindi aggiungere l'androide:. Attributo tema al tag al posto

E un po ', dopo di che, viene descritto come ereditare e di override proprietà, proprio come i CSS:

Se ti piace un tema, ma si vuole modificarlo, basta aggiungere il tema come il genitore del vostro tema personalizzato. Ad esempio, è possibile modificare la finestra di dialogo tema tradizionale di utilizzare la propria immagine di sfondo come questo:

<style name="CustomTextView" parent="@android:style/Widget.TextView">
    <item name="android:background">@drawable/custom_background</item>
</style>

Poi, per Interit da CustomTextView

<style name="CustomTextView.RedText">
   <item name="android:textColor">@color/red</item> 
</style>

Una volta che la progettazione del layout XML, è possibile ereditare un tema e sostituire le proprietà

<TextView
    android:id="@+id/example"

    style="@style/CustomTextView.RedText"

    android:textColor="@color/green" />

Credo che si dovrebbe leggere nuovamente la pagina lei stesso collegato, è ben spiegato:)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top