Por que o Nexus 7 pode exibir muito mais conteúdo na tela do que o Galaxy Nexus?

30

O Galaxy Nexus é 1280x720 e o tablet Nexus 7 é 1280x800.

Percebo que o tablet é fisicamente maior, mas é a resolução da tela, não o tamanho da tela, que determina o estado da tela.

Por que o Nexus 7 parece ser capaz de mostrar muito mais conteúdo na tela?

Edição - Minha pergunta não é "por que foi projetado desta maneira". Minha pergunta é mais "como é que é capaz de mostrar mais na tela"? PPI não explica isso.

É apenas uma questão de escala?

zacharyalexstern
fonte
Eu deveria ter perguntado "como" é capaz de fazê-lo. Quando eu disse o porquê, não quis dizer "por que eles projetaram dessa maneira", eu quis dizer "por que isso é TECNICAMENTE possível"?
zacharyalexstern
Por que isso é possível? A sério? Você faz as coisas menores.
RR
Além disso, se você procurar no build.prop dessa ROM (se você tiver o dump da ROM), há uma linha lá ro.sf.lcd_density = xxx que determina a densidade da tela. Quanto maior o valor, mais pode caber na tela, da mesma forma o inverso, menos pode caber na tela.
t0mm13b
2
@zacharyalexstern: perguntar como é feito é uma questão de desenvolvimento e está fora de tópico aqui. Tente StackOverflow.
Lie Ryan

Respostas:

44

Para entender por que o Nexus 7 pode mostrar mais conteúdo que o Galaxy Nexus, primeiro explicarei dois conceitos: densidade da tela e pixel independente da densidade.

Porém, antes de entrarmos em detalhes técnicos, vale a pena esclarecer os objetivos de design do uso de pixels independentes da densidade. O objetivo é definir uma interface do usuário com dimensão semelhante entre dispositivos, independentemente do tamanho da tela. Portanto, nesse caso, a aparência dos menus é a mesma no Galaxy Nexus e no tablet (lado a lado deve parecer muito semelhante), mas, como se tem uma tela maior, mais conteúdo pode ser mostrado. O designer seleciona uma aparência que fica bem para um determinado tamanho (uma tela de 160 dpi é a base) e, neste caso, é "simulada" em dispositivos com dpi mais altos.

Densidade da tela

Geralmente chamado de dpi (pontos por polegada). O Android agrupa todas as densidades de tela reais em quatro densidades generalizadas: baixa (120), média (160), alta (240) e extra alta (320). Um dispositivo como o Galaxy Nexus tem uma densidade de tela "extremamente alta" (mais especificamente, o valor de dpi é definido em 320). O Nexus 7 usa "tvdpi" - ou seja, 213 dpi.

Pixel independente de densidade

Comumente referido como dp. Esta é a unidade virtual de pixels usada na exibição de conteúdo. O pixel independente da densidade é equivalente a um pixel físico em uma tela de 160 dpi. Para calcular o dp, use a seguinte fórmula:

px = dp * (dpi / 160)

ou equivalente:

dp = (px / dpi) * 160

O motivo pelo qual o Nexus 7 pode mostrar mais conteúdo que o Galaxy Nexus, apesar de ter resoluções semelhantes, é este: o dpi do Nexus 7 é menor que o Galaxy Nexus .

Galaxy Nexus (320 dpi, 720 pixels de largura)

(720 / 320) * 160 = 360 dp

Nexus 7 (213 dpi, largura de 800 pixels)

(800 / 213) * 160 = 600 dp

Isso significa que, quando os aplicativos são renderizados no Galaxy Nexus, a largura da tela é de 360 ​​dp (renderizada usando 720 pixels). Enquanto no Nexus 7, a largura da tela é de 600 dp (renderizada com 800 pixels).

Bônus

Se o seu Galaxy Nexus estiver enraizado, você poderá usar um aplicativo como o LCD Density Modder e alterar o DPI do seu dispositivo para 240. O que você obterá é algo muito mais próximo do Nexus 7 em um pacote menor. À esquerda, há uma captura de tela do dispositivo em 240 dpi. Você notará que podemos ver muito mais conteúdo quando o DPI é menor.

Galaxy Nexus a 240 dpi Galaxy Nexus a 320 dpi

Nada a ver com PPI

As outras respostas mencionam PPI. A quantidade de conteúdo exibido não tem nada a ver com o PPI de um dispositivo. Embora comumente, os fornecedores selecionam o DPI mais próximo do PPI do dispositivo. (por exemplo, o Galaxy Nexus tem um PPI de 316, mas um DPI de 320, enquanto o Nexus 7 tem um PPI de 216, mas usa um 213 DPI).

Leitura adicional

http://developer.android.com/guide/practices/screens_support.html

Derek Kwok
fonte
2
Obrigado por isso, ninguém mais respondeu à pergunta que eu estava fazendo.
precisa saber é o seguinte
2
Esta é uma boa resposta geral, mas o parágrafo "nada a ver com PPI" faz uma falsa distinção entre DPI e PPI. Veja meu comentário sobre a resposta de Mohammed Essam.
wyzard --stop Prejudicar Monica--
Olá. Só não entendo uma palavra do que você está dizendo. Você assume que, quanto mais o dpi estiver baixo, mais poderá mostrar. Mas quando você tem 100 pontos por polegada, apenas mostra menos informações em uma polegada do que quando tem 200 pontos por polegada. E também, se a densidade padrão estiver definida perto do dispositivo ppi, você não poderá fazer melhor, nem mesmo modificar o valor, porque, tanto quanto eu sei, sim, um ponto pode ser exibido em muitos pixels, mas um pixel não pode exibir mais esse ponto.
Oliver
Uhhh, isso se aplica às telas da área de trabalho?
Oliver
2
Na verdade, o Nexus 7 tem 213 DPI e unidades de 600x961 dp. Consulte plus.google.com/105051985738280261832/posts/6eWwQvFGLV8
beetstra
7

Isso ocorre porque os pixels por polegada (PPI) são diferentes entre eles. Quanto maior o PPI, maior a qualidade, mas com um custo (relativo) menor do tamanho da tela. Portanto, o Nexus 7 tem 216 pixels por polegada, enquanto o Galaxy Nexus tem 316 pixels por polegada. A resolução não é tudo, você também deve considerar a densidade dos pixels.

Valores altos de PPI têm a vantagem de ser HD, mas também apresentam uma desvantagem, que é um tamanho de tela menor (com uma resolução persistente).

Você pode ler mais sobre PPI aqui .

Mohamed Essam
fonte
Não vejo o que o PPI tem a ver com imóveis na tela. Supondo que não haja redimensionamento, o Galaxy Nexus deve ter aproximadamente o mesmo espaço de tela que o Nexus 7, as coisas devem parecer menores na tela.
zacharyalexstern
3
@zacharyalexstern, o PPI é relevante porque determina o dimensionamento da fonte. O texto de 12 pontos deve ter um sexto de uma polegada de altura (72pt = 1in), o que corresponde a 36 pixels no 216ppi Nexus 7 e cerca de 53 pixels no 316ppi Galaxy Nexus. Outros elementos da interface do usuário também são dimensionados com base no PPI.
wyzard --stop Prejudicar Monica--
2
Basicamente, os elementos da interface do usuário são dimensionados para aparecerem com um tamanho físico consistente entre os dispositivos. É por isso que você pode colocar mais deles em um dispositivo fisicamente maior.
wyzard --stop Prejudicar Monica--
2
@zacharyalexstern Não posso colocar melhor do que Wyzard, então não vou. Estou apenas apoiando-o porque você parece inflexível que o PPI não tem nada a ver com o espaço da tela. Prometo-lhe o contrário, tem tudo a ver com imóveis na tela. Você está certo de que duas telas de 1280x800 têm o mesmo número de pixels . Mas todos os componentes do Android são redimensionados para a densidade de pixels. Você programou para o Android? O termo dp é familiar?
11
@DerekKwok, DPI é um termo de impressão que não é realmente aplicável a monitores de computador. Quando é usado em relação a monitores de computador, geralmente é sinônimo de PPI, porque a imagem é feita de pixels, não de pontos.
wyzard --stop Prejudicar Monica--
4

Mostrar a mesma quantidade de conteúdo em uma tela de 4,6 "tornaria proibitivamente pequeno na maioria dos casos. Você não seria capaz de lê-lo, portanto, colocar tanto conteúdo na tela simplesmente não faz sentido. A resolução determina quantos pixels você pode exibir, mas um pixel não é do mesmo tamanho em todas as telas.Para tornar o conteúdo utilizável e legível, é necessário usar mais pixels em uma tela menor, porque eles são mais compactados.

Para uma boa comparação, abra uma página da web no Galaxy Nexus e reduza o zoom até o fim. A mesma página visualizada em um monitor de 14 "(ou semelhante) com resolução semelhante não seria problema, mas o texto é quase indecifrável no seu telefone.


Do ponto de vista de "como isso é realizado tecnicamente" - depende em grande parte de como um aplicativo é escrito. Por padrão, o Android simplesmente dimensiona a interface para a tela maior, o que pode ou não fazer com que mais dados fiquem visíveis (considere uma lista de rolagem, por exemplo: mais itens ficariam visíveis em uma tela maior). Esse é o cenário mais básico.

Também é possível, no entanto, para um desenvolvedor definir layouts completamente diferentes com base no tamanho ou densidade da tela. Portanto, os layouts em um dispositivo de 7 "podem não estar totalmente relacionados aos layouts em um dispositivo de 4" ou 10 ". Isso oferece aos desenvolvedores muita flexibilidade para criar UIs mais ricas para tablets (e outros dispositivos), mantendo as UIs do telefone Isso é coberto no site de desenvolvedores do Android .

eldarerathis
fonte
Ia dizer, irônico que Google estão apoiando o iPad para o seu Google + ... que demonstração de vidro com Brin era outra coisa embora ...: D
t0mm13b
Entendo POR QUE está feito, minha pergunta é mais como . Por exemplo, é apenas uma questão de escala?
zacharyalexstern
@ zacharyalexstern: Isso depende de como o aplicativo é escrito, então. Você pode escrever um aplicativo para usar layouts totalmente diferentes em telas de tamanhos diferentes, se desejar, para que não seja necessariamente apenas "dimensionado" no sentido típico. Ou você pode deixar o aplicativo escalar apenas se desejar. Há um conjunto de documentação bastante considerável dedicado a isso no site de desenvolvedores do Android, mas esse é um resumo bastante básico.
Eldarerathis
1

Desculpe a resposta estúpida, mas: o Galaxy Nexus torna tudo maior.

Por exemplo, a letra minúscula 'a' pode ter uma largura de 30 pixels no Galaxy Nexus, enquanto apenas 20 pixels no Nexus 7. Dessa forma, mais letras podem caber na tela. A razão pela qual eles parecem ter o mesmo tamanho (por exemplo, 3 mm se você colocar uma régua na tela) é, como os outros disseram, a densidade de pixels. Basicamente, os pixels são maiores, fisicamente, no Nexus 7.

A razão pela qual o Galaxy Nexus torna tudo maior é para que você possa usá-lo sem mantê-lo a uma polegada do seu rosto. Se a letra 'a' tivesse uma largura de 20 pixels, como no Nexus 7, seria muito pequena para ler confortavelmente (porque os pixels são muito menores).

Felix
fonte
Eu entendo isso, essa não é a minha missão.
Zacharyalexstern