2012-07-25 13 views
20

Per la questione qui,"strumenti" Android namespace nel layout documentazione XML

What's "tools:context" in Android layout files?

Il riferimento dello spazio dei nomi 'strumenti' (xmlns: strumenti = "http://schemas.android.com/tools") ha iniziato ad apparire nei miei layout di recente, e voglio saperne di più. Il post originale descritto solo il 'strumenti: contesto' attributo, ma ho notato anche l'utilizzo degli "strumenti: listitem" attributo appare quando ho designato un elemento di layout di anteprima per un controllo ListView, cioè

<ListView 
    android:id="@+id/lvCustomer" 
    tools:listitem="@layout/customer_list_item" > 
</ListView> 

Esistono più elementi?

Ciò che mi ha portato a questo spazio dei nomi di 'strumenti' è che voglio essere in grado di avere testo 'solo anteprima' (cioè in una TextView o EditText) quando si utilizza il progettista del layout in eclissi.

Attualmente, assegno la proprietà 'testo' o 'suggerimento' per l'anteprima del testo quando si organizzano i miei layout ... ma poi devo sempre ricordare di cancellare il valore di anteprima dal codice.

Idealmente, invece di

<string name="preview_customer_name">Billy Bob's Roadhouse Pub</string> 

... 

<TextView 
    android:id="@+id/tvCustomerName" 
    android:text="@string/preview_customer_name" 
</TextView> 

hanno un qualcosa di simile a:

<TextView 
    android:id="@+id/tvCustomerName" 
    tools:previewText="@string/preview_customer_name" 
</TextView> 

grazie-

+2

Questo potrebbe essere ottenuto utilizzando le risorse @string in una locale personalizzata? – bjdodson

+0

@bjdodson - questo ha risolto il mio problema e funziona alla grande per la mia funzione '@ string/preview_text'. Ho appena creato una nuova risorsa di archi e ho scelto una variante linguistica insolita e ho inserito tutti gli elementi '@ string/preview_text_blah' qui.quindi posso facilmente passare a quel locale in modalità anteprima. Grazie per l'aiuto. – dsp0549

risposta

17

Abbiamo appena aggiunto il supporto per designtime attributi come questo in Android Studio 0.2.11. Vedi http://tools.android.com/tips/layout-designtime-attributes per ulteriori informazioni.

+2

c'è qualche piano per questo per trovare la sua strada in Eclipse/ADT? – Joe

+0

C'è qualcosa di simile per Spinners? – rekire

+0

Funzionerebbe per il popolamento di Spinners? –

6

Troverete attributo tool quando si imposta oggetto nel layout grafico.

Listview (in modalità grafica) -> tasto destro -> Anteprima Lista Contenuto -> Selezionare Layout ...

produce:

tools:listitem="@layout/customer_list_item" 
5

Pensa a loro solo come helper del tempo di progettazione. Non vengono elaborati nel rendering della visualizzazione effettiva in fase di esecuzione.

Per esempio si desidera impostare sfondo di alcuni vista nella progettazione del layout quando si lavora su Android Studio in modo che si può fare distinzione chiaro dove quel particolare vista is.So che normalmente farlo con

android:background="@color/<some-color>" 

Ora il rischio è che a volte ci dimentichiamo di rimuovere quel colore e viene spedito in apk. invece si può fare come segue:

tools:background="@color/<some-color>" 

Questi cambiamenti saranno locale per Android Studio e non sarà mai ottenere trasferito a apk.

E anche controllare http://tools.android.com/tech-docs/tools-attributes per ulteriori opzioni.

Problemi correlati