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”:
LinearLayout zoneA=(LinearLayout)this.findViewById(R.id.zoneA);
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:
//per nascondere zoneA.setVisibility(LinearLayout.GONE); //per visualizzare zoneA.setVisibility(LinearLayout.VISIBLE);
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:
android:visibility="gone"
che ovviamente dobbiamo impostare sull’oggetto sul quale va applicata.