Como faço para meu Layout se redimensionar para diferentes tamanhos de tela?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Como faço para meu Layout se redimensionar para diferentes tamanhos de tela?
João, tudo bem ?
Cara você pode usar na view o atributo de tamanho usar a densidade de pixels (dp) que isso já vai redimensionar.
Abraços
como assim?
Quando você cria seus layouts, ou seja, aqueles xml, cada componente pede qual é sua altura e largura, nesse atributos você pode passar a densidade de pixels que eles vão ter. Ou seja, para cada dispositivo, ele vai pegar aquela densidade e vai colocar seu componente naquele espaço.
cara ainda não entendi, e testei isso não deu certo
João, me mostra o que você está fazendo ?
Nos arquivos xml de cada tela da sua aplicação, todos os componentes que você cria devem ter altura (android:layout_height) e largura (android:layout_width). Se você passar "match_parent" como parâmetro, o componente vai ter o tamanho do componente de fora na largura ou na altura, ou seja, se o componente de fora for a activity, ele terá a dimensão da altura/largura da activity. Se usar "wrap_content", ele vai ter um tamanho variável, dependendo do conteúdo interno desse componente. Agora se você quiser fixar um tamanho, por exemplo 20 pixels, você deve passar o valor como "20dp", que significam "density pixels". Isso significa que o componente vai ter 20 pixels baseado no nível de definição da tela do aparelho que abrir a aplicação. Os aparelhos mais novos tem telas maiores e com definições melhores, enquanto os mais antigos tem menos definição. O dp vai manter os componentes padrões, independente do aparelho ou tela. Você pode fazer o teste no emulador do AndroidStudio, rodando em aparelhos de tamanhos de telas diferentes e vendo que os componentes permanecem padrões. Teste também mudando os tamanhos, usando match_parent e wrap_content para ver como ficam. Espero ter ajudado!