2010-11-19 12 views
44

voglio nascondere il layout lineare così ho usatocome nascondere linearlayout dal codice java?

LinearLayout mainLayout=(LinearLayout)this.findViewById(R.id.mainLayout); 
mainLayout.setVisibility(2); 

Ma perché non nasconde ?? !!!

+1

Utilizzando interi letterali non sono altamente raccomandati, utilizzare LinearLayout.GONE o LinearLayout.VISIBLE invece. – Shahul3D

+1

perché dovrebbe? da dove hai preso quel valore? basta leggere il documento che troverai la costante corretta da usare! – njzk2

risposta

122

Usa:

mainLayout.setVisibility(LinearLayout.GONE); 
19

È anche possibile impostare la visibilità nella vostra layout.xml se lo vuoi nascosto quando l'applicazione viene avviata per prima. android:visibility="gone" dovrebbe fare il trucco. In questo modo è nascosto fin dall'inizio quando il layout viene inizializzato dalla tua app.

9

Inoltre, è possibile utilizzare LinearLayout. INVISIBILE.

La differenza è (Android Documentation):

View.GONE - Questo punto di vista è invisibile, e non prende alcun spazio per scopi di layout.

View.INVISIBLE Questa vista è invisibile, ma è ancora occupa lo spazio per gli scopi di layout .

È possibile scegliere chiunque in base al proprio progetto.

10

Il valore costante utilizzato è errato. Dovrebbe essere 8 per GONE. 4 per INVISIBLE e 0 per VISIBLE.

Controllare questo View description dal sito dello sviluppatore.

E questo link.

0

Usa:

mainLayout.setVisibility(LinearLayout.INVISIBLE); 
Problemi correlati