Nexus 7がGalaxy Nexusよりも多くのコンテンツを画面に表示できるのはなぜですか?


30

Galaxy Nexusは1280x720、Nexus 7タブレットは1280x800です。

タブレットは物理的に大きいことを認識していますが、画面の大きさではなく画面の解像度が画面の不動産を決定します。

Nexus 7が画面上により多くのコンテンツを表示できるように見えるのはなぜですか?

編集-私の質問は「なぜこのように設計されたのか」ではありません。私の質問は、「画面にもっと表示できるようにするにはどうすればいいですか」ということです。PPIはこれを説明しません。

それは単にスケーリングの問題ですか?


「どのように」できるのか尋ねるべきでした。理由を言ったとき、「なぜ彼らはこのように設計したのか」という意味ではなく、「なぜこれが技術的に可能なのか」という意味でした。
-zacharyalexstern

なぜそれが可能ですか?マジ?物事を小さくします。
RR

また、そのROMのbuild.propを見ると(ROMダンプがある場合)、そこにro.sf.lcd_density = xxxという行があり、画面の密度を指示します。値が高いほど、画面に収まる可能性が高くなり、逆に、画面に収まる可能性が低くなります。
t0mm13b

2
@zacharyalexstern:それがどのように行われるかを尋ねるのは開発上の質問であり、ここでは話題になりません。StackOverflowを試してください。
ライライアン

回答:


44

Nexus 7がGalaxy Nexusよりも多くのコンテンツを表示できる理由を理解するために、まず画面の密度と密度に依存しないピクセルという2つの概念を説明します。

しかし、技術的な詳細に進む前に、密度非依存ピクセルを使用する設計目標を明確にする価値があるかもしれません。目標は、画面サイズに関係なく、デバイス間で寸法が似ているUIを定義することです。したがって、この場合、メニューの外観はGalaxy Nexusとタブレットで同じです(横に並んで表示されるはずです)が、画面が大きくなると、より多くのコンテンツを表示できます。デザイナーは、特定のサイズに見栄えの良い外観を選択し(160 dpi画面が基本です)、これはこの場合、より高いdpiのデバイスで「シミュレート」されます。

スクリーン密度

一般的にdpi(インチあたりのドット数)と呼ばれます。Androidは、実際の画面密度をすべて、低(120)、中(160)、高(240)、および超高(320)の4つの一般化された密度にグループ化します。Galaxy Nexusなどのデバイスの画面密度は「非常に高い」です(具体的には、dpi値は320に設定されています)。Nexus 7は「tvdpi」、つまり213 dpiを使用します。

密度独立ピクセル

一般にdpと呼ばれます。これは、コンテンツを表示するときに使用される仮想ピクセル単位です。密度に依存しないピクセルは、160 dpi画面上の1つの物理ピクセルに相当します。dpを計算するには、次の式を使用します。

px = dp * (dpi / 160)

または同等に:

dp = (px / dpi) * 160

Nexus 7が同様の解像度を持っているにもかかわらずGalaxy Nexusよりも多くのコンテンツを表示できるのは、Nexus 7のdpiがGalaxy Nexusよりも低いためです。

Galaxy Nexus(320 dpi、幅720ピクセル)

(720 / 320) * 160 = 360 dp

Nexus 7(213 dpi、幅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でのデバイスのスクリーンショットがあります。DPIが低い場合、より多くのコンテンツを見ることができます。

240 dpiのGalaxy Nexus 320 dpiのGalaxy Nexus

PPIとは関係ありません

他の回答はPPIに言及しています。表示されるコンテンツの量は、デバイスのPPIとは関係ありません。一般的には、ベンダーはデバイスのPPIに最も近いDPIを選択します。(たとえば、Galaxy NexusのPPIは316ですが、DPIは320です。Nexus7のPPIは216ですが、213 DPIを使用します)。

参考文献

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


2
このおかげで、私が尋ねていた質問に実際に答えた人はいませんでした。
zacharyalexstern

2
これは全体的に良い答えですが、「PPIに関係ない」段落はDPIとPPIを誤って区別します。Mohammed Essamの答えに対する私のコメントをご覧ください。
ワイザード

こんにちは。私はあなたが言っていることの言葉を理解していません。dpiが低いほど、より多く表示できると想定します。しかし、1インチあたり100ドットの場合、1インチあたりのドット数が200ドットの場合に比べて、1インチの情報が少なくなります。また、デフォルトの密度がデバイスppiの近くに設定されている場合、値を変更することさえできません。その1つのドット。
オリバー

うーん、これはデスクトップ画面に適用されますか?
オリバー

2
実際、Nexus 7には213 DPIがあり、600x961 dpユニットです。参照plus.google.com/105051985738280261832/posts/6eWwQvFGLV8
beetstra

7

これは、インチあたりのピクセル数(PPI)が異なるためです。PPIが高いほど、品質は高くなりますが、画面サイズが(比較的)小さくなります。そのため、Nexus 7は216ピクセル/インチで、Galaxy Nexusは316ピクセル/インチです。解像度だけではありません。ピクセルの密度も考慮する必要があります。

PPI値が高いと、HDであるという利点がありますが、画面サイズが小さくなるという欠点もあります(永続的な解像度で)。

PPIの詳細については、こちらをご覧ください


PPIが画面の不動産とどう関係するのかわかりません。スケーリングを想定していない場合、Galaxy NexusはNexus 7とほぼ同じ画面の不動産を持っている必要があります。
-zacharyalexstern

3
@ zacharyalexstern、PPIは、フォントのスケーリングを決定するため関連性があります。12ポイントのテキストは、高さ1/6インチ(72pt = 1in)であると想定されています。これは、216ppi Nexus 7では36ピクセル、316ppi Galaxy Nexusでは約53ピクセルに相当します。他のUI要素もPPIに基づいてスケーリングされます。
ワイザード

2
基本的に、UI要素は、デバイス全体で一貫した物理サイズで表示されるようにスケーリングされます。そのため、物理的に大きいデバイスにより多くのデバイスを収めることができます。
ワイザード

2
@zacharyalexsternワイザードより上手に言えないので、そうはしない。PPIが画面の不動産とは何の関係もないことを強く主張しているように見えるので、私は彼をバックアップしています。反対に、画面の不動産に関係するすべてを持っていることをお約束します。2つの1280x800画面のピクセル数が同じであることは正しいです。ただし、すべてのAndroidコンポーネントはピクセル密度に合わせてスケーリングされます。Android用にプログラミングしましたか?dpという用語はよく知られていますか?

1
@ DerekKwok、DPIは、コンピューターディスプレイには実際には適用できない印刷用語です。 画像はドットではなくピクセルで構成されているため、コンピューターディスプレイに関連して使用される場合、一般にPPIの同義語です。
ワイザード

4

4.6インチの画面で同じ量のコンテンツを表示すると、ほとんどの場合非常に小さくなります。読み込めないため、画面にその量のコンテンツを配置しても意味がありません。解像度はピクセル数を決定します表示できますが、すべての画面で 1つのピクセルが同じサイズではありません。コンテンツを使用可能かつ読みやすくするには、より密集しているため、より小さな画面でより多くのピクセルを使用する必要があります。

良い比較のために、Galaxy NexusでWebページを開き、ズームアウトします。同じページを同じような解像度の14インチ(またはそのような)モニターで表示しても問題はありませんが、テキストは携帯電話ではほとんど判読できません。


「これは技術的にどのように達成されるのか」という観点から-それはアプリの作成方法に大きく依存します。デフォルトでは、Androidは単にインターフェイスをより大きな画面に拡大するだけです。これにより、より多くのデータが表示される場合と表示されない場合があります(たとえば、スクロールリストを考慮してください。それが最も基本的なシナリオです。

ただし、開発者が画面サイズまたは密度に基づいてまったく異なるレイアウトを定義することも可能です。そのため、7インチデバイスのレイアウトは4インチデバイスまたは10インチデバイスのレイアウトとはまったく関係ない場合があります。これにより、開発者はタブレット(およびその他のデバイス)のリッチUIを作成し、電話のUIを維持できますこれは、Androidの開発者向けサイト詳しく説明されています


皮肉なことに、GoogleがGoogle+でiPadをサポートしていることを皮肉に思っています... Brinを使用したGlassデモは別のものでした...:D
t0mm13b

なぜそれが行われたのかを理解しています。私の質問はもっと方法です。例えば、それは単にスケーリングの問題ですか?
-zacharyalexstern

@zacharyalexstern:それは、アプリの作成方法に依存します。必要に応じて、異なるサイズの画面上でまったく異なるレイアウトを使用するアプリを作成できるため、通常の意味での「スケーリング」とは限りません。または、必要に応じてアプリをスケーリングすることもできます。これについては、Android開発者向けサイトにかなりの量のドキュメントが用意されていますが、これは非常に基本的な概要です。
eldarerathis

1

愚かな答えで申し訳ありませんが、ギャラクシーネクサスはすべてを大きくします。

たとえば、小さな文字「a」の幅はGalaxy Nexusでは30ピクセルですが、Nexus 7では20ピクセルしかありません。このようにして、より多くの文字を画面に収めることができます。他の人が言ったように、それら同じサイズに見える理由(例えば、スクリーンにルーラーを置いた場合は3mm)はピクセル密度です。基本的に、Nexus 7ではピクセルが物理的に大きくなります。

Galaxy Nexusがすべてを大きくする理由は、顔から少し離すことなく実際に使用できるようにするためです。Nexus 7のように文字「a」の幅が20ピクセルの場合、文字が小さすぎて快適に読むことができません(ピクセルがはるかに小さいため)。


私はそれが私の質問ではないことを理解しています。
zacharyalexstern
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.