Gestire la visibilità di un LinearLayout Android

Android
fonte: dal web

Spesso capita di dover visualizzare o nascondere zone del layout in base ad eventi che si verificano o che sono attivati dall’interazione dell’utente con la nostra applicazione Android. Ci sono molti modi per gestire situazioni di questo tipo, uno dei più utilizzati è quello di inserire all’interno di un oggetto LinearLayout tutto quello che vogliamo nascondere/mostrare, e sfruttare la proprietà di visibilità di questo tipo di view.

Il codice per gestire la visibilità del LinearLayout è molto semplice. Supponiamo di avere un LinearLayout  che abbiamo dichiarato all’interno di un file layout e a cui abbiamo assegnato l’id “zoneA”:
[java]LinearLayout zoneA=(LinearLayout)this.findViewById(R.id.zoneA);
[/java]
Questa linea di codice ci permette di recuperare nel codice della nostra Activity il LinearLayout di cui vogliamo gestire la visibilità. A questo punto possiamo modificare la visibilità dell’oggetto:
[java]
//per nascondere
zoneA.setVisibility(LinearLayout.GONE);
//per visualizzare
zoneA.setVisibility(LinearLayout.VISIBLE);
[/java]
Con il metodo setVisibility() possiamo quindi visualizzare o nascondere il LinearLayout : possiamo inserire questo codice ad esempio lì dove implementiamo la logica da eseguire al click di un bottone o di qualsiasi altro evento scatenato in seguito al quale vogliamo nascondere/mostrare delle informazioni.

Chiaramente questo vale per la gestione dinamica della visibilità, ma volendo possiamo anche agire direttamente nel file xml del layout attraverso la seguente direttiva:
[java]android:visibility=”gone”[/java]
che ovviamente dobbiamo impostare sull’oggetto sul quale va applicata.