Androidの解像度とスクリーンのフィットの詳細


一、なぜAndroidは解像度とスクリーンの相性がいいですか?
最大の原因はデブリ化です。Androidのオープンソース対策と各メーカーの自分自身の細かな修正の結果、このようになりました。

適切な画面サイズが必要です。

そんなはずないですよTです。
ですから、私たちは大部分の人だけを世話します。友盟の統計データによると、次のようになります。

だから適配だけが必要です。
800 x 480、854 x 480、960 x 540、1184 x 720、1280 x 720、1920 x 1080の6つの解像度。
二、基本知識
スクリーンサイズ
インチ、1インチ=2.54センチです。例えば、よくあるスクリーンサイズは2.4、2.8、3.5、3.7、4.2、5.0、5.5、6.0などです。
スクリーン解像度(px)
画面解像度とは、横方向の画素数、単位はpx、1 px=1画素点です。一般的には、縦方向の画素xの横方向の画素、例えば1960×1080である。
スクリーンのピクセル密度(dpi)
画面の画素密度とは、1インチあたりの画素数、単位はdpi、すなわち「dot per inch」の略語である。スクリーンのピクセル密度はスクリーンのサイズとスクリーンの解像度と関係があります。単一の変化条件では、スクリーンのサイズが小さいほど、解像度が高いほど、ピクセル密度が大きくなり、逆に小さくなります。PPI=√(長画素数)² + 幅ピクセル数²) / 画面対角線インチ数
密度無関係ピクセル(dip/dp)
密度無関係画素(Density Independent Pixels)は、画面画素密度と画面解像度によって決まり、160 dpiを基準として、1 dp(1 dip)=1 px、32 dpiの場合、1 dp=2 pxとなります。
フォントサイズ(sp)
Spは、特にフォントの準備をする単位であり、その解法は密度無関係ピクセル(dp)と同じである。
mdpi、hdpi、xdpi、xdpi、xxxdpi
googleの公式規定によると、その代表的なピクセル密度は以下の通りです。

一般的な写真のサイズは以下の通りです。

三、適合規則
3.1各種スクリーンサイズ対応wrap_contentおよびmatch_parent
を使用する。android_widthおよびandroid_heightには、できるだけwrap_contentmatch_parentを使用する。この2つの属性は、容器の大きさに応じて変化するので、適応性が強い。
相対レイアウトを使用して、絶対レイアウトを無効にします。
RelativeLayoutを使用して、元素の相対位置を維持し、絶対配置を禁止します。絶対配置には多くの問題があります。
限定符を使う
サイズ制限を使う
     res/layout/main.xml、シングルパネル(デフォルト)レイアウト。
     res/layout-large/main.xml、ダブルパネルレイアウト。
     第二のレイアウト名ディレクトリのlarge限定子に注意してください。システムは、大きな画面(例えば、7インチ以上のタブレットコンピュータ)に属するデバイスでこのレイアウトを選択します。システムは、小さい画面上で他のレイアウト(リミットレス定数)を選択します。
最小幅制限子を使う
     res/layout/main.xml、シングルパネル(デフォルト)レイアウト。
     res/layout-s 600 dp/main.xml、ダブルパネルレイアウト。
     つまり、最小幅が600 dp以上のデバイスに対して、システムはlayout-sw 600 dp/main.xml(ダブルパネル)レイアウトを選択します。そうでないと、システムはlayout/main.xml(シングルパネル)レイアウトを選択します。
     Androidバージョンが3.2以下のデバイスはこの技術をサポートしていません。
スクリーン方向の制限子を使う
     res/layout-land/main.xml横画面
     res/layout-port/main.xml縦スクリーン
レイアウトのエイリアス
     最小幅制限子は、Android 3.2およびより高いバージョンにのみ適用されます。したがって、私たちはまだ低いバージョンと互換性のある概括サイズ範囲(小、正常、大、特大)を使用したいです。例えば、ユーザーインタフェースを携帯電話にシングルパネルを表示するように設計する場合、7インチのタブレットパソコン、テレビ、その他の大きなデバイスに複数のパネルを表示する場合、以下のファイルを提供する必要があります。
          res/layout/main.xml:シングルパネルレイアウト
          res/layout-large:多パネルレイアウト
          res/layout-s 600 dp:多パネルレイアウト
          後の二つは重複しています。valuesを使って同じ参照を設定すればいいです。
          res/layout/main.xmlのパネルレイアウト
          res/layout/main_twopans.xml、ダブルパネルレイアウト
この二つのファイルを追加します。
res/values-large/layout.xml:

<resources> 
<item name="main" type="layout">@layout/main_twopanes</item>
</resources>
res/values-sw 600 dp/layout.xml:

<resources> 
<item name="main" type="layout">@layout/main_twopanes</item>
</resources>
後の二つのファイルの内容は同じですが、レイアウトは実際に定義されていません。彼らはメールをメーンに設定しただけです。twopansの別名。これらのファイルはlargeとsw 600 dpセレクタを含んでいるので、Androidのバージョンにかかわらず、これらのファイルをタブレットコンピュータとテレビに適用します。
3.2各種スクリーン密度対応
非密度制約ピクセルを使う
例えばdpとspはpxを使わないでください。
代替ビットマップを提供します
これらの画像を生成するには、まずベクトルフォーマットの元のリソースを抽出し、次のサイズ範囲に従って各密度に対して対応する画像を生成します。
     xhdpi:2.0
     hdpi:1.5
     mdpi:1.0(最低要求)
     ldpi:0.75
つまり、xhdpi装置のために200 x 200 pxサイズの画像を生成したら、同じリソースを使ってhdpi、mdpi、ldpiデバイスに150 x 150、100 x 100、75 x 75サイズの画像をそれぞれ生成するべきです。
その後、生成されたピクチャファイルを、レスポンス/下位の各サブディレクトリに置き(mdpi、hdpi、xhdpi、xxhdpi)、システムは、アプリケーションを実行するデバイスの画面密度に応じて、自動的に適切な画像を選択します。
そうすると、我々が@drawable/idを引用すれば、システムは対応する画面のdpiによって適切なビットマップを選択することができます。
3.3実践
ハイビジョン設計図のサイズについて
Googleの公式の高精細設計図のサイズは2つの案があります。1つはmdpiで設計し、それに対応して拡大してより高解像度の画像を得ること、もう1つは高解像度を設計サイズとして、倍数対応で小解像度の画像に縮小することです。
経験によって、高解像度の画像を生成する際に、小さい解像度で画素がなくなってしまうので、第二の方法を勧めます。
解像度は、主な解像度として1280 x 720または1960 x 1080で設計されてもよい。
使用点9図、点9図はアンデッドプラットフォームのアプリケーション開発における特殊な画像フォーマットで、ファイルの拡張子は「.9.png」です。

左と上の黒い線は引張り領域を表します。
右と下の黒い線は前景内容表示エリアを表します。
第三者ライブラリを使用してパーセンテージレイアウトを行います。
四、まとめ
モバイル端末のスクリーンが似合うため、web端末の経験を参考にして、百分率レイアウトを使うことをオススメします。はい、Androidの解像度とスクリーンの相性について紹介します。質問があれば、メッセージを残して交流してもいいです。この文章が皆さんの役に立ちますように。