8

Sto sviluppando un'applicazione Android con frammenti. Mentre la maggior parte dei miei layout sono predeterminati nell'XML, vorrei inserire a livello di codice una nuova vista tra le viste che erano già state caricate in un LinearLayout all'avvio.Android- come criptare a livello di programmazione una vista tra le viste nel layout precaricato dall'XML?

enter image description here

Come posso fare per questo?

Grazie

+0

Qual è la vista con il bordo nero? È un LinearLayout? – wsanville

+1

+1 per includere l'illustrazione chiara. –

risposta

3

È possibile specificare l'indice mentre si aggiunge dinamicamente una vista a un LinearLayout.

altezza Set del primo punto di vista, come

android:layout_height="0dp" 
android:layout_weight="1" 

Impostare height = wrap_content per la seconda vista in XML

Poi, mentre u stanno aggiungendo nuovo Panorama in modo dinamico, impostare il suo height = wrap_content e aggiungerlo al genitore LinearLayout come questo

parentLinearLayout.addView(childView, index);  
       //index = position where you want to insert the new view. 

Potrebbe aiutarti. :)

3

rosso View dovrebbero avere l'impostazione View.setVisibility(View.GONE) proprio all'inizio di default. Quando è ora di presentarsi puoi passare a View.setVisibility(View.VISIBLE). Non posso verificare la soluzione in questo momento, ma dovrebbe fare il trucco. Quindi in questo caso non stai inserendo una nuova vista ma ne rendi visibile una esistente.

+0

Grazie. Mentre potrebbe funzionare, stavo cercando un modo più dinamico di andare avanti con questo. Rahmathullah ha fornito un modo per farlo in modo programmatico – LoneDuck