2012-05-01 9 views
5

Tengo elementos en mi vista que se muestran al hacer clic y no aparecen en ese inicio de la actividad. Ahora todo funciona bien pero cuando uso la herramienta de diseño gráfico veo esos elementos y hace que trabajar con ellos sea más difícil.¿Cómo ocultar elementos en el diseño gráfico?

Es decir, tengo un ListView con elementos, veo esos elementos encima de todo.

¿Cómo puedo ocultar esos elementos? establecer la visibilidad programáticamente no ayuda. ¿Debo hacer algo como establecer alfa en 0 y luego agregarlo en lugar de hacer que los elementos sean invisibles? Parece una idea tonta, debe haber alguna opción que me falta.

¿Ayuda a alguien?

Gracias, Eric

Respuesta

22

Por qué no establecer la visibilidad a 'desaparecido': android:visibility="gone"? Esto evitará que los elementos de diseño aparezcan y ocupando espacio en el diseño.

Alternativamente, si algunos elementos en su jerarquía de vista nunca se pueden mostrar al usuario, puede usar ViewStub para cargarlos 'perezosamente' en el tiempo de ejecución. Un ViewStub es simplemente un marcador de posición para alguna otra vista (jerarquía) y está vacío y tiene un tamaño cero por sí mismo. Es una buena forma de separar la jerarquía de su vista en elementos predeterminados y opcionales, y puede reducir significativamente la complejidad de la jerarquía de vistas en el tiempo de ejecución.

6

Si desea ocultar el elemento de forma programática/condicional en lugar de en el XML de diseño como se sugirió anteriormente y establecer la visibilidad no funcionaba, ¿tal vez su sintaxis era incorrecta? Así es como se oculta un elemento mediante programación:

element.setVisibility(View.GONE); 
Cuestiones relacionadas