Fazer com que a tela fique Pixel Perfect é um termo bastante utilizado para o momento em que os ajustes finos de interface serão feitos para aderir ao desenho original da forma mais detalhista e perfeita possível. O desenho é uma atividade muito importante e que deve ser executada em uma fase prévia ao desenvolvimento da tela, uma vez que o desenho estático é mais simples e rápido de ser executado em comparação à implementação completa de uma tela. Com várias visões prévias e testes visuais, as chances de sucesso aumentam consideravelmente.
Ao desenhar telas estáticas, ainda na fase de concepção, é crucial o executor dos desenhos dominar as boas práticas e os Guidelines do Google e fazer com que o objetivo de cada tela seja o mais claro e fácil possível ao usuário.
Cada tela, no momento da concepção, deve ser cuidadosamente pensada para que se encaixe bem nos devices aos quais a app se destina ou, em um cenário mais aberto possível, fazer com que cada tela se adeque da melhor forma possível às quase 10mil diferentes combinações de telas dos devices Android existentes no mercado. Para facilitar na escolha de qual será a abrangência da sua App, é interessante consultar o dashboard do Google que contém a participação de cada versão de software e também fabricantes dos dispositivos Android.
A imensa variedade de devices Android pode ser dividida e subdividida de acordo com suas características. No escopo deste artigo serão abordados os seguintes: dimensão da tela, densidade da tela e orientação.
Dimensão da tela é a que diz respeito ao tamanho da tela propriamente dito. No setor de comercialização de dispositivos, a unidade mais comumente utilizada são as polegadas. No ramo que circunda os desenvolvedores, dificilmente durante a implementação serão utilizadas medidas em polegadas, mas sim medidas em pixels, como na maior parte das plataformas de desenvolvimento e no Android especificamente, poderemos verificar o uso do DP ou DIP. É na característica de dimensão que conseguimos classificar as telas dos diferentes dispositivos Android em algumas classes de tamanho de tela: SMALL, NORMAL, LARGE, XLARGE.
A característica na qual podemos apontar a maior e mais comum falha ao lidar com layouts e dispositivos Android é a densidade das telas. A frase "Este device possui uma tela grande, deve ser XHDPI" não é difícil de se ouvir pelos corredores de empresas de garagem até as grandes corporações internacionais. Para eliminar este tipo de associação, caso ela ainda exista, é simples: densidade é a quantidade de pontos em uma determinada área. A medida mais comumente utilizada no mundo da computação é o DPI (Dots per inch – Pontos por polegada). No Android também utiliza-se a medida DPI para o cálculo das densidades. As densidades atualmente reconhecidas no Android são: LDPI, MDPI, HDPI, XHDPI, XXHDPI e XXXHDPI, em ordem crescente de densidade. Uma tela XHDPI não é, necessariamente maior que uma tela MDPI, e na recíproca também podemos afirmar que uma tela LDPI não é necessariamente menor que uma tela XXXHDPI.
A orientação representa como o dispositivo está sendo segurado pelo usuário. As orientações possíveis são Portrait (retrato) ou Landscape (Paisagem). Normalmente nos devices Android, a Portrait possui a dimensão altura maior que largura e no modo Landscape é o inverso. A orientação é outra característica que aflige os desenvolvedores, mais pelo comportamento acerca do ciclo de vida das Activities do que pelo ajuste de layout em si, o que resulta em apps "travadas" em uma das orientações, o que é totalmente contra os Guidelines do Google. Nos guidelines, o usuário deve poder utilizar o device na orientação que for mais conveniente, portanto, o aplicativo desenvolvido deve preservar a melhor usabilidade possível em qualquer que seja a orientação que o dispositivo esteja.
O Android foi concebido para conseguir lidar com as mais diversas dimensões, densidades e orientações de telas. Por isso, uma camada de abstração nas dimensões foi utilizada: DIP. DIP é uma sigla para Dimension-Independent Pixel (Dimensão independente de pixel). Este tipo de abstração se faz necessário para fazer com que, mesmo em devices com uma diferença muito grande em pixels e resolução, o formato da tela de uma mesma app seja muito semelhante.
Ao desenvolver interfaces Android, pode-se utilizar diversas estruturas, cada uma com um comportamento, que gera um resultado final diferente. Dentre as possíveis, estão formas que são baseadas em posição absoluta: AbsoluteLayout, até layouts onde a disposição desses elementos é feita de forma relativa: RelativeLayout. Para cada um dos layouts um comportamento diferenciado é esperado.
O Android, por sua característica multi-device, está muito próximo das telas que necessitam de um comportamento fluído, assim como telas HTML, e distanciando das plataformas que possuem menor diversidade do tamanho de telas ou que as telas sejam c ...
Confira outros conteúdos:
Perguntas frequentes
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.