2012-07-25 13 views
20

por la pregunta aquí,"herramientas" Android espacio de nombres en el diseño de la documentación XML

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

La referencia de espacio de nombres 'herramientas' (xmlns: herramientas = "http://schemas.android.com/tools") ha comenzado a aparecer en mis diseños recientemente, y quiero saber más. El post original sólo se describe el 'herramientas: contexto' atributo, pero también he notado el uso de las "herramientas: listitem" atributo aparece cuando he designado un elemento de diseño vista previa para una vista de lista, es decir

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

¿Hay más elementos?

Lo que me llevó a este espacio de nombres de "herramientas" es que quiero poder tener texto de "solo vista previa" (es decir, en un TextView o EditText) cuando uso el diseñador de diseño en eclipse.

Actualmente, asigno la propiedad 'text' o 'hint' para la vista previa del texto al organizar mis diseños ... pero siempre tengo que acordarme de borrar el valor de la vista previa dentro del código.

Lo ideal sería que, en lugar de

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

... 

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

tienen un algo como:

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

de Acción de Gracias

+2

¿Se podría lograr esto utilizando los recursos @string bajo una configuración regional personalizada? – bjdodson

+0

@bjdodson - esto resolvió mi problema y funciona muy bien para mi función '@ string/preview_text'. Acabo de crear un nuevo recurso de cadenas y elegí una variante de lenguaje inusual y coloqué todos mis elementos '@ string/preview_text_blah' allí.entonces puedo alternar fácilmente a ese local en modo de vista previa. Gracias por la ayuda. – dsp0549

Respuesta

6

Encontrará tool atributo cuando se establece objeto en diseño gráfico.

Listview (en modo gráfico) -> clic derecho -> Vista previa Lista de contenido -> Seleccione Diseño ...

produce:

tools:listitem="@layout/customer_list_item" 
5

Piense en ellos como ayudantes de tiempo de diseño solamente. No se procesan en la representación de la vista real en tiempo de ejecución.

Por ejemplo, usted quiere poner el fondo de algún punto de vista de su diseño de la disposición cuando se trabaja en Android Studio para que pueda hacer una distinción clara en ese punto de vista particular, is.So lo haría normalmente con que

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

Ahora el riesgo es que a veces nos olvidamos de eliminar ese color y se envía en apk. vez que usted puede hacer de la siguiente manera:

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

Estos cambios serán locales a Android Studio y nunca se transfieren a apk.

Y también echa un vistazo a http://tools.android.com/tech-docs/tools-attributes para más opciones.

Cuestiones relacionadas