Non mi ricordo come sono arrivato a questa domanda, ma qui è la mia risposta che potrebbe aiutare chiunque:
Come si può vedere here
FrameLayout è stato progettato per bloccare un'area sulla schermo per visualizzare un singolo oggetto. In genere, FrameLayout deve essere utilizzato per contenere una visualizzazione figlio singola, poiché può essere difficile organizzare le viste secondarie in un modo che sia scalabile a diverse dimensioni dello schermo senza che i bambini si sovrappongano l'un l'altro.
in generale non è utile avere 2 vista uno sopra l'altro, perché si sta andando ad avere effetto overdraw (un'area dello schermo che sta ottenendo disegnato dalla GPU più di una volta che è davvero inutile).
Se davvero necessario, allora avete bisogno di utilizzare il metodo OnDraw (potete vedere un esempio here) e API tela (date un'occhiata here) e il metodo clipRect (potete vedere un esempio here)
Per quanto riguarda FrameLayout o RelativeLayout, se vuoi mantenere le cose semplici o la tua attività ha già abbastanza layout nidificati, meglio usare FrameLayout. Nel 2017 c'è anche la disposizione dei vincoli che potrebbe essere di aiuto.
Posso usare o dovrei usare? :) Vi sono problemi di prestazioni relativi all'utilizzo del layout Frame o Relative? Spero tu stia ottenendo il mio punto. – Ankit
@Ankit Non sono sicuro dei problemi di prestazioni (suppongo che 'FrameLayout' abbia un minore ingombro di memoria, perché è più semplice). 'FrameLayout' è molto più facile da configurare (solo' Gravity.LEFT', 'Gravity.RIGHT' ecc.)' RelativeLayout' è molto più complicato e più configurabile. Basta scegliere la complessità di cui hai bisogno per la situazione. – Ancantus