Resolução de Tela de Celular

Cleidson

Member
Prezados,
Gostaria de uma ajuda sobre como redimensionar o layout conforme a resolução de tela do celular. Eu vi os vídeos que estão na ajuda do B4X, mas, confesso que não entendi a dinâmica de como se programa essas resoluções. Fiz um layout de testes, mas, quando fui testar no meu celular, que tem resolução maior, ficou completamente desfigurado do que estava no design do IDE do B4A. Alguém pode me ajudar?
 

Cableguy

Expert
Licensed User
Longtime User
Ora boas, como estas a desenhar o tey layout? em codigo ou pelo designer?
No designer a utilização dos Anchors vai te facilitar muito a forma como o layout se adapta as varias resoluções.
 

Cleidson

Member
Prezado CableGuy,
Bom dia. Estou usando o designer. Acho mais fácil na questão da visualização. Acredito que não tenha entendido como se usa esse recurso. Os exemplos em vídeos tratam do uso na plataforma J. Fiquei perdido na questão.
 

Cableguy

Expert
Licensed User
Longtime User
Basicamente o ponto de Anchor fixa esse ponto no ecra. Se a anchor for por exemplo 10;10 top left o componente sera sempre colocado nessa posicao com o top =10 e o left =10.
Se a anchor for both 10:10 entao o componente se adapta para ter uma distancia de 10 para cada lado das margens.
 

asales

Expert
Licensed User
Longtime User
Além das âncoras, que o Cableguy citou, eu costumo usar porcentagens no layout.

No fórum você irá encontrar muitos posts sobre resolução, como o do link abaixo.
Esta é uma opção mais complexa, devido a quantidade de opções dos aparelhos e você pode usar anchors, porcentagens, mais de 1 layout, etc.

Eu não mudo os componentes de acordo com a resolução.
Além das porcentagens para a largura, o único ajuste que faço é usar uma scrollview ou customlistview para exibir mais componentes de acordo com a altura da tela.
Se o usuário tem um celular com resolução maior, ele vai ver mais informações, se não verá menos informações.

 

Cleidson

Member
Entendi. Não é uma solução muito viável ficar tentando controlar isso, então? É mais fácil centralizar os componentes e deixar por isso mesmo.
 

Cableguy

Expert
Licensed User
Longtime User
Infelizmente a problemática entre o aspecto visual da GUI e a resolução do ecra é algo que se discute desde as primeiras versões do Android.
O ideal é que a GUI seja o mais simples possivel, para que a resolução do ecrã tenha pouca relevância.
Penso que ainda existe uma opcao no designer chamada CloudUI que basicamente envia a tua GUI para varios dispositivos virtuais e te desolve o aspecto dela nesses dispositivos. Excepção feita aos custom views, onde apenas aparece o basepanel
 

Cleidson

Member
Eu ia começar o meu projeto utilizando o Maui .NET, que usa XAML para o designer. E um recurso que achei muito interessante, e até inteligente, é que pode-se utilizar um grid e dentro do grid colocar os componentes visuais. Bastar programa a grid, em porcentagens e ele cuida de adaptar tudo a qualquer tipo de tela.
 

MaxRosa

Member
Licensed User
Longtime User
Eu ia começar o meu projeto utilizando o Maui .NET, que usa XAML para o designer. E um recurso que achei muito interessante, e até inteligente, é que pode-se utilizar um grid e dentro do grid colocar os componentes visuais. Bastar programa a grid, em porcentagens e ele cuida de adaptar tudo a qualquer tipo de tela.
No B4A é fácil de fazer isso. Use o designer para criar vários layouts, defina as larguras e alturas com Achors ou usando os scrips de design com porcentagens, não tem mistério. Tudo se ajusta perfeitamente. Depois, pode colocar vários panels, por exemplo, e carregar os layouts dentro deles.
 

Cleidson

Member
Max,
Boa noite. Então, eu pensei nessas questões e por fim decidi, por mais trabalhoso que é, fazer essas medidas através de porcentagens relativas ao tamanho e resoluções das telas.
Fiquei o dia inteiro, hoje, fazendo testes em layouts diferentes com porcentagens relativas ao tamanho da resolução da tela dos emuladores e do celular que possuo.
Até o momento respondeu muito bem ao que eu projetei em relação ao design em telas de 4', de 6' e de 10'. Há outros testes em outras resoluções e telas, mas, estou desenvolvendo devagar e com muitos testes.
 
Last edited:
Top