Чому Nexus 7 може відображати на екрані набагато більше вмісту, ніж Galaxy Nexus?


30

Galaxy Nexus - 1280x720, а планшет Nexus 7 - 1280x800.

Я розумію, що планшет фізично більший, але саме роздільна здатність екрана, а не розмір дисплея, визначає нерухомість екрана.

Чому, здається, Nexus 7 зможе відображати на екрані так багато більше вмісту?

EDIT - Моє запитання не в тому, "чому це було розроблено таким чином". Моє запитання більше "як це можливо, щоб вона могла більше показувати на екрані"? ІЦВ цього не пояснює.

Це лише питання масштабування?


Я повинен був запитати "як", чи здатний це зробити. Коли я сказав чому, я не мав на увазі "чому вони спроектували це так", я мав на увазі "чому це ТЕХНІЧНО можливо"?
zacharyalexstern

Чому це можливо? Серйозно? Ви робите речі меншими.
RR

Крім того, якщо ви подивитесь на build.prop цього ROM (якщо у вас є дамп ROM), там є рядок ro.sf.lcd_density = xxx, який диктує щільність екрана. Чим вище значення, тим більше може розміститися на екрані, так само, як і зворотний, тим менше може розміститися на екрані.
t0mm13b

2
@zacharyalexstern: запитання про те, як це робиться, - це питання розвитку, і тут немає теми. Спробуйте StackOverflow.
Лежати Райан

Відповіді:


44

Щоб зрозуміти, чому Nexus 7 може показувати більше вмісту, ніж Galaxy Nexus, спершу поясню два поняття: щільність екрана та незалежність щільності-пікселів.

Але перш ніж розібратися в технічних подробицях, можливо, варто уточнити цілі проектування використання пікселів незалежно від щільності. Мета - визначити інтерфейс користувача, який буде подібний за розмірами на всіх пристроях, незалежно від розміру екрана. Тож у цьому випадку зовнішній вигляд меню однаковий у Galaxy Nexus та планшеті (поруч має виглядати дуже схоже), але, оскільки на екрані більший екран, може бути показано більше вмісту. Дизайнер вибирає зовнішній вигляд, який виглядає добре для певного розміру (160-дюймовий екран є базовою), і це "моделюється" в цьому випадку на пристроях з більш високим dpi.

Щільність екрану

Зазвичай називають dpi (крапки на дюйм). Android групує всі фактичні щільності екрану на чотири узагальнені щільності: низькі (120), середні (160), високі (240) та надвисокі (320). Пристрій, такий як Galaxy Nexus, має «надзвичайно високу» щільність екрана (точніше, значення dpi встановлено на рівні 320). У Nexus 7 використовується "tvdpi" - тобто 213 dpi.

Щільність незалежна піксель

Зазвичай називають д.п. Це віртуальний піксельний блок, який використовується під час показу вмісту. Незалежний від щільності піксель еквівалентний одному фізичному пікселю на екрані 160 dpi. Для обчислення dp використовуйте наступну формулу:

px = dp * (dpi / 160)

або еквівалентно:

dp = (px / dpi) * 160

Причина Nexus 7 може показувати більше вмісту, ніж Galaxy Nexus, незважаючи на те, що вона має подібні роздільні здатності, така: dpi для Nexus 7 нижче, ніж Galaxy Nexus .

Galaxy Nexus (320 точок на дюйм, ширина 720 пікселів)

(720 / 320) * 160 = 360 dp

Nexus 7 (213 точок на дюйм, ширина 800 пікселів)

(800 / 213) * 160 = 600 dp

Це означає, що коли візуалізація додатків на Galaxy Nexus, ширина екрана насправді становить 360 dp (відображається з використанням 720 пікселів). Тоді як на Nexus 7 ширина екрана становить 600 dp (відображається з використанням 800 пікселів).

Бонус

Якщо ваш Galaxy Nexus вкорінений, ви можете скористатися додатком, таким як LCD Density Modder, і змінити DPI свого пристрою на 240. Що ви отримаєте, це щось набагато ближче до Nexus 7 у меншому пакеті. Зліва - скріншот пристрою на 240 dpi. Ви помітите, що ми можемо побачити набагато більше вмісту, коли рівень ІРП нижче.

Galaxy Nexus при 240 dpi Galaxy Nexus при 320 dpi

Нічого спільного з ІПЦ

В інших відповідях згадується ІЦВ. Кількість вмісту, що відображається, не має нічого спільного з ІПЦ пристрою. Хоча зазвичай постачальники вибирають ІПП, найбільш близький до ІЦН пристрою. (напр., Galaxy Nexus має ІПЦ 316, але DPI 320, де, як і Nexus 7, ІРЦ становить 216, але використовує 213 ДПІ).

Подальше читання

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


2
Дякую за це, ніхто більше насправді не відповідав на запитання, яке я задавав.
zacharyalexstern

2
Це хороша відповідь у цілому, але пункт "нічого спільного з ІПЦ" неправдиво розрізняє DPI та PPI. Дивіться мій коментар до відповіді Мухаммеда Ессама.
Уайдард

Привіт. Я просто не розумію ні слова того, що ти говориш. Ви припускаєте, що чим більше точок на дюйм, тим більше ви можете показати. Але коли у вас є 100 крапок на дюйм, ви просто показуєте менше інформації на дюйм, що при 200 крапках на дюйм. Крім того, якщо щільність за замовчуванням встановлена ​​поблизу пристрою ppi, ви не можете зробити краще, навіть змінивши значення, тому що, наскільки я знаю, так, одна точка може відображатися на багатьох пікселях, але піксель не може відображати більше та одна крапка.
Олівер

Так, це стосується екранів робочого столу?
Олівер

2
Насправді Nexus 7 має 213 DPI і становить 600x961 dp одиниць. Дивіться plus.google.com/105051985738280261832/posts/6eWwQvFGLV8
beetstra

7

Це тому, що пікселі на дюйм (ІРП) між ними різні. Чим вище ІРЦ, тим вище якість, але за рахунок (відносно) меншого розміру екрана. Отже, Nexus 7 має 216 пікселів на дюйм, а Galaxy Nexus - 316 пікселів на дюйм. Роздільна здатність не все, ви також повинні враховувати щільність пікселів.

Високі значення ІЦН мають перевагу в тому, що це HD, але він також має недолік - менший розмір екрана (при постійній роздільній здатності).

Детальніше про ІПЦ ви можете прочитати тут .


Я не бачу, що ІПЦ має відношення до екранного нерухомості. Якщо припустити відсутність масштабування, Galaxy Nexus повинен мати приблизно таку саму нерухомість екрана, що й Nexus 7, а на екрані все має бути меншим.
zacharyalexstern

3
@zacharyalexstern, ІРП є актуальним, оскільки визначає масштабування шрифту. Текст у 12 точок повинен бути однією шостою у дюйм у висоту (72pt = 1 дюйм), що відповідає 36 пікселям на 216ppi Nexus 7, і приблизно 53 пікселів на Galaxy Nexus 316ppi. Інші елементи інтерфейсу також масштабуються на основі PPI.
Wyzard

2
В основному елементи інтерфейсу масштабуються таким чином, щоб вони відображалися з постійним фізичним розміром на всіх пристроях. Ось чому ви можете розмістити їх більше на пристрої, який фізично більший.
Wyzard

2
@zacharyalexstern Я не можу сказати, що краще, ніж Wyzard, тому не хочу. Я просто підкріплюю його, тому що вам здається непохитним, що ІПЦ не має нічого спільного з екраном нерухомості. Я обіцяю вам , навпаки, вона має всі , щоб зробити з екрану нерухомості. Ви вірні, що два екрани 1280x800 мають однакову кількість пікселів . Але всі компоненти Android масштабуються до щільності пікселів. Ви програмували на Android? Чи знайомий термін dp ?

1
@DerekKwok, DPI - термін друку, який насправді не застосовується до дисплеїв комп'ютера. Коли він використовується стосовно комп'ютерних дисплеїв, це, як правило, синонім PPI, оскільки зображення складається з пікселів, а не крапок.
Уайдард

4

Якщо показ однакової кількості вмісту на екрані 4,6 "зробить його надмірно малим у більшості випадків. Ви не зможете прочитати його, тому розміщувати стільки вмісту на екрані просто не має сенсу. Дозвіл визначає, скільки пікселів Ви можете відображати, але один піксель не має однакового розміру на кожному екрані . Для того, щоб вміст було зручним і читабельним, потрібно використовувати більше пікселів на меншому екрані, оскільки вони щільніше упаковані.

Для кращого порівняння відкрийте веб-сторінку на Galaxy Nexus і масштабуйте весь шлях. Ця ж сторінка, переглянута на 14-дюймовому (або такому) моніторі з подібною роздільною здатністю, не буде проблемою, але текст майже не розшифрований на вашому телефоні.


З точки зору "як це зробити технічно" - це багато в чому залежить від того, як написано додаток. За замовчуванням Android просто масштабує інтерфейс на більшому екрані, що може або не спричинить видимість більшої кількості даних (розглянемо, наприклад, список прокрутки, наприклад, більше елементів буде видно на більшому екрані). Це найосновніший сценарій.

Також можливо, розробник може визначити зовсім інші макети на основі розміру або щільності екрана. Отже, макети на 7-дюймовому пристрої можуть бути абсолютно не пов'язані з макетами на 4-дюймовому або 10-дюймовому пристрої. Це дає розробникам велику гнучкість для створення більш багатих інтерфейсів для планшетів (та інших таких пристроїв), зберігаючи інтерфейси телефону Це розміщено на веб-сайті розробників Android .


Іронічно збирався сказати, що Google підтримує iPad для Google + ... що демонстрація Glass із Brin була чимось іншим, хоча ...: D
t0mm13b

Я розумію, ЧОМУ це зроблено, моє запитання - як . Наприклад, це просто питання масштабування?
zacharyalexstern

@zacharyalexstern: Тоді це залежить від того, як написано додаток. Ви можете написати додаток для використання абсолютно різних макетів на екранах різного розміру, якщо ви хочете, тому це не обов'язково просто "масштабування" в типовому сенсі. Або ви можете дозволити програмі просто масштабувати, якщо хочете. На сайті розробників Android є досить великий набір документації, присвячений цьому, але це досить основний підсумок.
eldarerathis

1

Вибачте за дурну відповідь, але: Galaxy Nexus робить все більшим.

Наприклад, маленька літера "a" може мати ширину 30 пікселів на Galaxy Nexus, тоді як вона має лише 20 пікселів на Nexus 7. Таким чином, більше літер може вміщуватися на екрані. Причина, по якій вони виглядають однакового розміру (наприклад, 3 мм, якщо ви поставите лінійку на екран), - як сказали інші, - щільність пікселів. В основному, пікселі на фізичному рівні більше на Nexus 7.

Причина, чому Galaxy Nexus робить все більшим, полягає в тому, що ви можете реально користуватися ним, не тримаючи його за сантиметр від обличчя. Якщо літера "a" мала б ширину 20 пікселів, як у Nexus 7, її було б занадто мало, щоб зручно читати (адже пікселі значно менші).


Я це розумію, це не моє питання.
zacharyalexstern
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.