CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: 4eyes81 con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: elmegio con ben 7 Thanks ricevuti negli ultimi sette giorni
Utente del mese: bluemask con ben 43 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 5 su 5
Discussione:

Recuperare stile xml da file

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Nov 2009
    Messaggi
    5

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Recuperare stile xml da file

    Ciao a tutti, ho cercato spesso suggerimenti e info sul forum trovando spesso risposta alle mie domande.
    Ora però vorrei chiedere a voi non avendo trovato nulla di utile tra i 3d presenti e neanche su developer.android.com.

    Vista la possibilità di creare degli stili per le nostre applicazioni usando a titolo d'esempio il seguente codice banale:

    codice:
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <style name="GreenText" parent="@android:style/TextAppearance">
            <item name="android:textColor">#00FF00</item>
        </style>
    </resources>
    Vorrei avere la possibilità di avere diversi stili con colore font, dimensione, carattere ecc, che siano memorizzati su un file esterno (quindi non precaricati nel file apk) e che l'utente possa scegliere tra questi stili esterni quale applicare.

    Ad esempio io ho dei file rosso.xml, giallo.xml,...,verde.xml caricati magari nella sd, e che poi l'utente vada a scegliere quale utilizzare.
    Il problema è, come posso (se posso) utilizzare degli stili "esterni"?
    Se io nella mia apk creo uno style xml, che verrà salvato in qualche parte del device, posso andare a sovrascriverlo?

    Avete qualche idea?
    Grazie a tutti in anticipo

  2.  
  3. #2
    Senior Droid L'avatar di maurilios


    Registrato dal
    Dec 2009
    Messaggi
    328

    Ringraziamenti
    7
    Ringraziato 20 volte in 19 Posts
    Predefinito

    Quote Originariamente inviato da idom3z Visualizza il messaggio
    Ciao a tutti, ho cercato spesso suggerimenti e info sul forum trovando spesso risposta alle mie domande.
    Ora però vorrei chiedere a voi non avendo trovato nulla di utile tra i 3d presenti e neanche su developer.android.com.

    Vista la possibilità di creare degli stili per le nostre applicazioni usando a titolo d'esempio il seguente codice banale:

    codice:
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <style name="GreenText" parent="@android:style/TextAppearance">
            <item name="android:textColor">#00FF00</item>
        </style>
    </resources>
    Vorrei avere la possibilità di avere diversi stili con colore font, dimensione, carattere ecc, che siano memorizzati su un file esterno (quindi non precaricati nel file apk) e che l'utente possa scegliere tra questi stili esterni quale applicare.

    Ad esempio io ho dei file rosso.xml, giallo.xml,...,verde.xml caricati magari nella sd, e che poi l'utente vada a scegliere quale utilizzare.
    Il problema è, come posso (se posso) utilizzare degli stili "esterni"?
    Se io nella mia apk creo uno style xml, che verrà salvato in qualche parte del device, posso andare a sovrascriverlo?

    Avete qualche idea?
    Grazie a tutti in anticipo
    Non so se si può sovrascrivere il file poichè questo è compilato insieme al codice. Di sicuro però si può agire sulle impostazioni dei vari elementi da codice e fare in modo che gli attributi vengano caricati da un file preso da internet. Ad esempio per una TextView potresti usare i metodi setTextColor, setTextSize e così via.

  4. #3
    Baby Droid


    Registrato dal
    Nov 2009
    Messaggi
    5

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quindi la soluzione ideale potrebbe essere quella di creare un file del tipo:

    -colore:verde
    -carattere:Arial
    ...

    E poi a livello di codice, nel momento in cui lancio la mia activity e setto il relativo layout dirgli di andara a leggere quel file (salvato ad esempio sulla sd "myapp/file_layout)?

    Perché sovrascrivendo il file limiterei il numero di operazioni a livello di codice e sarebbe qualcosa di più veloce (?) pulito (?)...

  5. #4
    or3
    or3 non è in linea
    Baby Droid


    Registrato dal
    Jun 2010
    Messaggi
    23

    Ringraziamenti
    0
    Ringraziato 1 volta in 1 Post
    Predefinito

    premetto che non ne ho la certezza, ma credo che il layout xml sia visibile come xml solo durante lo sviluppo in eclipse, quando viene creata l'app, viene usato l'xml per creare il codice corrispondente, non credo che la "renderizzazione" del layout venga fatta a runtime.

    imho la soluzione al tuo problema e', non salvare i file xml dei layout ma bensi dei file di testo contenenti i valori delle parti cusomizzabili (tipo file .ini)
    poi lato codice modifichi il layout in base ai parametri che trovi in questi file

    credo che comunque ti convenga questa soluzione, se in futuro decidessi di modificare radicalmente il layout, chi in possesso dei layout vecchi, non riuscirebbe ad utilizzarli e dovrebbe riscaricarseli tutti, e il riscaricarli tutti presuppone che qualcuno abbia aggiornato tutti i layout esistenti in maniera corretta

    se il layout lo personalizzi lato codice, puoi gestire meglio le varie versioni di uno stesso layout e chi in possesso di vecchi layout se li ritroverebbe ancora funzionanti anche dopo un aggiornamento dell'applicazione

    forse l'ho messa giu un po contorta ma spero si sia capito

  6. #5
    Baby Droid


    Registrato dal
    Nov 2009
    Messaggi
    5

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Giusta osservazione or3, sicuramente anche il riuso di vecchi layout sarebbe un problema altrimenti.

    Quindi ora mi metto a lavorare un po' su file esterni e provo a leggere il contenuto estraendo i valori che poi andranno ad essere assegnati allo stile.

    Per il momento grazie, se qualcuno ha qualche altra idea dica pure

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy