In un frammento, sto gonfiando un layout con più viste figlio. Ho bisogno di ottenere le dimensioni (larghezza e altezza) di una di esse che è una vista personalizzata.getWidth() e getHeight() restituiscono sempre 0. Vista personalizzata
All'interno della classe di visualizzazione personalizzata posso farlo facilmente. Ma se provo a farlo dal frammento ottengo sempre 0 come dimensioni.
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
View culoide = view.findViewWithTag(DRAW_AREA_TAG);
Log.d("event", "culoide is: "+culoide.getWidth()); // always 0
}
Immagino che onViewCreated dovrebbe essere il posto giusto per ottenerlo, ma bene questo succede. Ho provato prima di super.onViewCreated, nel debug sembra che findViewWithTag trovi la vista giusta, provata solo con il supporto per api 7 v4.
Qualsiasi aiuto?
+1 grazie :); removeGlobalOnLayoutListener è oggi già deprecato; ma questo è già un altro problema – quinestor
Il metodo obsoleto chiama a quello nuovo (e in effetti non so se valesse la pena deprecare solo per il nome), ma ho comunque modificato il mio codice. – Karakuri
Oppure sovrascrivere 'onSizeChanged()'. – Kerry