Respostas:
LinearLayout
significa que você pode alinhar as visualizações uma por uma (vertical / horizontalmente).
RelativeLayout
meios baseados na relação de pontos de vista de seus pais e outros pontos de vista.
ConstraintLayout
é semelhante a um RelativeLayout por usar relações para posicionar e dimensionar widgets, mas possui flexibilidade adicional e é mais fácil de usar no Editor de Layout.
WebView
para carregar páginas html, estáticas ou dinâmicas.
FrameLayout
para carregar um filho acima do outro, como cartões dentro de um quadro, podemos colocar um acima do outro ou em qualquer lugar dentro do quadro.
descontinuado - AbsoluteLayout
significa que você deve fornecer a posição exata onde a visualização deve estar.
Para mais informações, consulte este endereço https://developer.android.com/guide/topics/ui/declaring-layout#CommonLayouts
AbsoluteLayout
está obsoleto por um motivo; se o conteúdo não se encaixa, ele lança aleatoriamente as coisas. Você está melhor com LinearLayout
ae definindo todos os seus preenchimentos para 0
.
O FrameLayout foi projetado para bloquear uma área na tela para exibir um único item. Geralmente, o FrameLayout deve ser usado para manter uma única exibição filho, porque pode ser difícil organizar as exibições filho de uma maneira escalável para diferentes tamanhos de tela sem que os filhos se sobreponham. No entanto, você pode adicionar vários filhos a um FrameLayout e controlar sua posição no FrameLayout atribuindo gravidade a cada filho, usando o
android:layout_gravity
atributoAs visualizações filho são desenhadas em uma pilha, com o filho adicionado mais recentemente no topo. O tamanho do FrameLayout é o tamanho do seu filho maior (mais o preenchimento), visível ou não (se o pai do FrameLayout permitir).
Um RelativeLayout é um utilitário muito poderoso para projetar uma interface com o usuário, pois pode eliminar grupos de visualizações aninhadas e manter sua hierarquia de layout plana, o que melhora o desempenho. Se você estiver usando vários grupos LinearLayout aninhados, poderá substituí-los por um único RelativeLayout.
(Documentos atuais aqui )
Um TableLayout consiste em vários
TableRow
objetos, cada um definindo uma linha (na verdade, você pode ter outros filhos, que serão explicados abaixo). Os contêineres TableLayout não exibem linhas de borda para suas linhas, colunas ou células. Cada linha possui zero ou mais células; cada célula pode conter um objeto de exibição. A tabela possui tantas colunas quanto a linha com mais células. Uma tabela pode deixar as células vazias. As células podem abranger colunas, como podem em HTML.A largura de uma coluna é definida pela linha com a célula mais larga nessa coluna.
Nota : O layout absoluto está obsoleto.
LinearLayout: um layout que organiza seus filhos em uma única linha horizontal ou vertical. Ele cria uma barra de rolagem se o comprimento da janela exceder o comprimento da tela. Isso significa que você pode alinhar as visualizações uma a uma (vertical / horizontalmente).
RelativeLayout: permite especificar o local dos objetos filhos em relação um ao outro (filho A à esquerda do filho B) ou ao pai (alinhado à parte superior do pai). É baseado na relação de pontos de vista de seus pais e outros pontos de vista.
WebView: para carregar páginas html, estáticas ou dinâmicas.
Para mais informações, consulte este link: http://developer.android.com/guide/topics/ui/layout-objects.html
LinearLayout - No LinearLayout, as vistas são organizadas na orientação vertical ou horizontal.
RelativeLayout - RelativeLayout é muito mais complexo que LinearLayout, portanto, fornece muito mais funcionalidades. As visualizações são colocadas, como o nome sugere, uma em relação à outra.
FrameLayout - ele se comporta como um único objeto e suas visualizações filho são sobrepostas. FrameLayout assume o tamanho de acordo com o maior elemento filho.
Layout do coordenador - Este é o ViewGroup mais poderoso introduzido na biblioteca de suporte do Android. Ele se comporta como FrameLayout e possui muitas funcionalidades para coordenar entre as visualizações filho, por exemplo, botão flutuante e snackbar, Barra de Ferramentas com exibição rolável.
Ótima explicação aqui:
https://www.cuelogic.com/blog/using-framelayout-for-designing-xml-layouts-in-android
LinearLayout organiza elementos lado a lado na horizontal ou na vertical.
O RelativeLayout ajuda a organizar seus elementos da interface do usuário com base em regras específicas. Você pode especificar regras como: alinhar isso à borda esquerda do pai, colocá-lo à esquerda / direita desses elementos etc.
AbsoluteLayout é para posicionamento absoluto, ou seja, você pode especificar coordenadas exatas para onde a visualização deve ir.
FrameLayout permite posicionamentos de vistas ao longo do eixo Z. Isso significa que você pode empilhar seus elementos de exibição um acima do outro.