Desenvolvendo para vários tamanhos de tela no BlackBerry
-
27-09-2019 - |
Pergunta
O Android e o iOS têm um conceito de "pixel independente de densidade", para que seus layouts tenham a mesma aparência em dispositivos com diferentes densidades e tamanhos de tela.
Até agora, escrevi código para elementos de espaço manualmente usando pixels (ou seja, eu quero que este botão seja 10 pixels do lado esquerdo da tela). Isso é ótimo em uma curva, mas quando eu a carrego em uma ousada, a resolução é muito maior, então 10 pixels é um espaço físico muito menor.
Quais são as melhores práticas para vários tamanhos de tela no BlackBerry? Existe alguma maneira fácil de definir um pixel independente de densidade? A RIM parece não oferecer muito em termos de documentação ou APIs para facilitar isso.
Solução
Os pontos são pixels independentes de densidade (com um bom grau de precisão).
Para o BlackBerry, a classe mais relevante é net.rim.device.api.ui.Ui
que define uma constante units_pt (e uma constante units_px), um convertSize
método para converter entre pontos e pixels (desde as operações em Graphics
Pegue pixels em vez de pontos).
Uma metodologia útil para os aplicativos BlackBerry é levar tudo em relação aos tamanhos das fontes, que você define em pontos - há uma versão de net.rim.device.api.ui.Font.derive
Isso leva um parâmetro de unidades e facilita a obtenção de fontes com um tamanho de ponto específico.
Obviamente, você não pode tomar nada como certo - definir as coisas em pontos facilitará as coisas, mas com o BlackBerry você lida com muitas densidades de pixels e proporções de pixels diferentes, então testem minuciosamente, pelo menos nos simuladores.