Android

Ocultar o mostrar elementos en Android

En este post te mostraré a ocultar y mostrar vistas o elementos del layout en Android de manera programada utilizando el método setVisibility para modificar la visibilidad de una View.

Voy a mostrarte cómo hacerlo desde Java invocando al método setVisibility y pasando las constantes INVISIBLE, VISIBLE y GONE de View.

Mostrar un elemento

Cuando ya tenemos un elemento obtenido con findViewById invocamos a setVisibility con View.VISIBLE:

etObservacionesSituacionEntrega.setVisibility(View.VISIBLE);

De este modo el elemento se va a mostrar.

No olvides importar a View:

import android.view.View;

Ocultar un elemento usando GONE o INVISIBLE

Para ocultar un elemento en Android se invoca al mismo método, y ahora se puede usar GONE o INVISIBLE.

La diferencia entre estos es que:

  • GONE: el elemento se oculta, y además, no ocupa espacio en el layout.
  • INVISIBLE: el elemento se oculta pero sigue ocupando el espacio

Así que lo recomendable es usar GONE como en el siguiente ejemplo:

etObservacionesSituacionEntrega.setVisibility(View.GONE);

Ocultar o mostrar elemento desde XML

Estas propiedades pueden ser definidas desde XML al definir el layout a través de android:visibility. Por ejemplo:

<EditText
android:id="@+id/etObservacionesSituacionEntrega"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:ems="10"
android:gravity="start|top"
android:hint="@string/observaciones"
android:inputType="textMultiLine"
android:lines="3"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/spinnerSituacionesEntrega"
tools:visibility="visible" />

Fíjate en la línea 13, en ella defino que inicialmente el elemento no se muestra ni ocupa espacio. Pero como al diseñar quiero que sí se vea, especifico tools:visibilty en visible para que se muestre en tiempo de diseño.

 

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

17 horas hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

1 semana hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

1 semana hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

1 semana hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

1 semana hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

1 semana hace

Esta web usa cookies.