3

ボタンなどのインタラクティブなタッチ UI 要素をレイアウトする場合は、ユーザーが快適に操作できるように、適切な物理サイズが必要です。このように、タッチ UI を配置することは、電子デバイスの物理的なボタンやノブを配置するのと同じです。そして、この種の物理工学では、ミリメートル (またはインチ) が最適な単位です。

何らかの理由で、これはタッチ UI 設計には当てはまらないようです。私はこのテーマについてあまりよく読んでいるとは思いませんが、正直なところ、たとえば Android レイアウト ファイルで mm を単位として使用している人を見たことがありません。しかし、「px」対「dp」対「sp」対誰が何を知っているかについての果てしない議論を見てきました。

「デバイスに依存しないピクセル」(Android では物理的な長さで定義されます - 1dp ≈ 0.16mm) は、長さを指定するための非常に複雑な方法のようです。

なぜミリしか使わないのですか?

これらのユニットを適切にサポートしていないデバイスに問題がありますか? それは文化的なものですか (プログラマーは、物理的な単位ではなく、「ある種のピクセル」で考えることに慣れている可能性があります)。どうしたの?

4

4 に答える 4

6

通常、モバイル ユーザビリティの専門家はミリメートルについて話していることがわかります。しかし、プログラマーやビジュアル デザイナーは、密度に依存しないピクセルまたはポイント (1 Android の「DIP」 = 1 iOS の「ポイント」) について話します。これは、測定値をミリメートル単位で正確に指定できたとしても、丸めの問題やハーフ ピクセルの問題が発生するためです。アンチエイリアシングの醜さ:

1mm は 6.3 DIP に相当します (ディップは 120/160/240/320/480/640 dpi の最も近い値に量子化されるため、精度の程度は画面の正確な DPI 値に依存します)。つまり、標準の G1 スタイルの 160DIP 画面で、ボタンを (たとえば) 8mm に指定すると、その画面では 50.4 ピクセルになります。これをある程度の精度でレンダリングするか、Photoshop に線を終了するように指示してください。正確に 50.4 ピクセル。また、丸めだけでは解決にはなりません。画面は依然としてピクセル単位で固定された合計幅であり、(たとえば) 特定のサイズとパディング量でボタンのグリッドをレイアウトしている場合、これらの丸め誤差が対称性を台無しにする方法で合成されます。

160DPI で 48px、HDPI (240) で 72px、320DPI で 96px (iOS 用語では別名 2x) とスムーズにスケーリングされるため、(たとえば) 48DIP として指定する方がはるかに優れています。

正確に 160DPI ピクセルが密度非依存ピクセルの 1x モバイル測定単位として勝った理由については、最初の数台の iPhone と、その構成を共有した HTC G1 のせいです。

于 2013-10-22T19:49:59.587 に答える
2

W3C は、画面のさまざまな測定単位と、それぞれに長所と短所がある場所について適切な説明を提供していると思います。また、Roman Nurik のDensity Independent Pixels ビデオも強くお勧めします。あなたの質問に直接答えるものではありませんが、多くの優れた情報を提供します。

mm の代わりに DP を使用する場合の私の引数は次のとおりです。

資力

おそらくこれが一番大きいです。デザイナーや開発者が画像や動画のアセットを作成する場合、物理的なサイズは使用しません。カメラで写真を撮った場合、その写真の高さが 5 インチであるとは言えません。画像の高さは、印刷方法によって異なります。

したがって、ユーザーに画像を表示したり、ボタンのグラフィックを作成したりする場合、幅 10 mm、高さ 10 mm のリソースを単純に作成することはできません。その 1 つの画像は、さまざまな画面でさまざまなサイズでレンダリングされます。デバイス/コード画像を正確に 10mm の高さにスケーリングしたとしても、ほとんどのテレビでは信じられないほどピクセル化されたように見えます。また、低密度デバイス (時計など) が表示できるよりも詳細になります (したがって、無駄になります)。デバイスのリソース)。

その答えは、複数のデバイスで見栄えがするように、1 つの画像をさまざまなサイズでエクスポートすることです。

もちろん、これを回避する方法は他にもあります。ベクター グラフィックスはこの問題を解決できますが、それはまったく別のトピックです。

DP

Android 固有の回答については、私たちはそうしています。ご指摘のとおり、従来の長さの物理単位である mm などに大まかに換算できる DP を使用しています。

ただし、DP を使用すると Android の密度バケットと連携して機能するため、デザイナーは有限のディスプレイ サイズ セット用のアセットを作成できます。私の意見では、4.2 インチの電話が 4 インチのバケツに入っている可能性があるため、これらのバケツに物理的な測定値でラベルを付けると、少し混乱するでしょう。

SP

SP は主にテキストに使用され、ユーザーがフォント サイズをカスタマイズできるようにします。ユーザーがスケーリングを変更すると、フォント サイズをピクセルまたは mm で定義すると誤解を招く可能性があります。

于 2013-10-22T19:56:02.130 に答える
0

これは、Android が多くのデバイス サイズと解像度をサポートしているためです。mm 単位で測定された特定の場所でのタッチを受け入れ、その場所が携帯電話とタブレットで異なるアプリを開発したいと思いますか? それとも、低密度タブレットと同じサイズの高密度タブレットですか? または、携帯電話とタブレットの高さと幅の比率の違いだけでも。

ミリメートルは実際の距離を反映する難しい測定値ですが、ピクセル数ではありません。「dp」や「sp」などの単位は、サイズだけでなくピクセルも考慮に入れます

于 2013-10-22T19:34:42.320 に答える