問題タブ [density-independent-pixel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
6 に答える
63517 参照

mobile - dp、dip、dpi、ppi、ピクセル、インチはどのように関連していますか?

私はdp、dip、px、spの測定値を読んでいましたが、dp/dpi対ppi対px対インチについてまだいくつか質問があります。私はそれらを比較することができません...インチは最大ですか?

160 dpiは、1インチあたり160ピクセルを意味すると言われています。それは1インチに160ピクセルが含まれていることを意味しますか?

また、160dpiの画面で1ピクセル=1dpと言われています。それは1ピクセルと1dpが等しいことを意味しますか?

そして最後に、なぜpxの代わりにdpを使用する必要があるのですか?理想的だと思いますが、なぜですか?

0 投票する
1 に答える
1051 参照

android - Android : デバイスごとに DIP 解像度が異なる場合の DIP の使用方法

DIP の数がデバイスごとに異なる場合、同じサイズの分類であっても、Android の DIP の目的について本当に混乱しています。(中型ディスプレイのように)

私は現在、ゲームの背景としてフルスクリーンのビットマップを表示しているゲームを開発しています..

このようなもの: drawSprite( bmBackground, 0, 0, 533, 320, canvas );

533x320 は、Samsung S2 ディスプレイの DIP 解像度です。しかし、中程度のディスプレイ クラスにある一部の HTC では、解像度が 480x320 である可能性があり、新しい DIP サイズを動的に計算しない限り、背景が画面に収まりません。

DIPのアイデアは、異なる画面/解像度について常にこれらすべてを考慮する必要がないということだと思いました.. iPhoneでは、ピクセル解像度が同じであっても、3と4の両方で同じDIP量があります

よくわかりません..

0 投票する
2 に答える
739 参照

android - キャンバス上のビットマップを常に「フルスクリーン」にする

だから私はビットマップを描く場所にこのキャンバスを持っています

例は背景としてのビットマップです..だから私は私の533x320ディップSamsung S2でこのフルスクリーンを作ります

したがって、この同じアプリを 480x320 ディップの HTC にロードすると、背景画像が画面よりも大きくなります。これは通常どのように処理されますか?

DIPサイズを確認してそれを使用できると答える人もいるかもしれません..これはこの背景画像でも機能します..しかし、私が持っている10個のチェスの駒はどうですか。 HTC の 480dp を拡張しますが、私の 533dp S2 でうまく動作しますか?

これは通常どのように処理されますか?

0 投票する
1 に答える
382 参照

android - Android 起動時のカスタム解像度の指定 (DIP)

DIP が異なるいくつかの異なる画面サイズ用に開発しています。AVD では問題ありませんが、実際のデバイスでテストしたいと思います。ボードが接続されている大きな画面があります。しかし、どうすればカスタム解像度で Android を起動できますか? それはどこで指定されていますか?

0 投票する
1 に答える
3463 参照

android - 7"タブレットと7"タブレットエミュレータでのDP計算に関する問題

7インチタブレット(800x480px)のdp計算に問題があります。以下は、私の計算方法です。計算または思考のどこで間違いを犯しているのかわかりません。

テストしているデバイスは3つあります。

  1. Nexus One:800x480px、3.7インチディスプレイ(仕様
  2. Huawei Ideos:320x240px、2.8 "ディスプレイ(仕様
  3. Ainol Novo 7 "タブレット:800x480px、7"ディスプレイ(仕様

ディスプレイサイズに基づいて、式に基づいてDPI(1インチあたりのドット数)を手動で計算しています。

だから私は得ています:

  1. Nexus One:sqrt(800 * 800 + 480 * 480)/3.7 = 252.15dpi
  2. Huawei Ideos:sqrt(320 * 230 + 240 * 240)/2.8 = 142.86dpi
  3. Ainol Novo 7 "タブレット:sqrt(800 * 800 + 480 * 480)/ 7 = 133.28 dp

次に、画面メトリックのdpi値を出力し、それに基づいて、画面の幅と高さをdp(密度に依存しないピクセル)で出力します。そのための私のコードは次のとおりです。

結果は次のとおりです。

  1. Nexus One:スケーリングされた密度:1.5、密度DPI:240、 dp単位の幅:533、dp単位の高さ:320
  2. Huawei Ideos:ScaledDensity:0.75、Density DPI:120、 dpでの幅:426、dpでの高さ:320
  3. Ainol Novo 7 "タブレット:ScaledDensity:1.0、Density DPI:160、 dpでの幅:800、dpでの高さ:480

アクティビティ内のJavaコードから取得する密度DPIは、計算されたdpi値とは異なり、Androidによって明らかに120、160、または240のいずれかの値に丸められます。これはごく普通のことです。今のところ問題ありません。

問題/質問1:

3番目のデバイスであるNovo7"タブレット:ScaledDensityは1.0と言われ、dpの幅はピクセル数と同じ800と言われています。しかし、それは現実ではありません。フルスクリーンアプリを作成するときそこにビューを配置すると、実際に画面に収まるのは533dp x 320dpのビューだけです。したがって、Nexus Oneと同じdp測定値です。ただし、Nexus OneのDPI値は高くなりますが、ピクセル数は同じです。それは可能ですか?

問題/質問2:

エミュレータ用のAVDを作成し、Novo 7 "タブレットとまったく同じ測定値を使用します。Javaコードのログ行には、実際のタブレットデバイスの場合と同じ値が表示されます。

  1. Ainol Novo 7 "タブレットエミュレーター:ScaledDensity:1.0、Density DPI:160、 dpでの幅:800、dpでの高さ:480

ただし、エミュレーターでは、580dp x 320 dpのビューを配置して、フルスクリーンアクティビティで完全に表示することができます。まったく同じ測定値を持つエミュレータと実際のデバイスの間で、幅dpがどのように異なる可能性がありますか?

ここに画像の説明を入力してください

問題/質問3:

http://developer.android.com/guide/practices/screens_support.htmlには、次のように書かれています。

さまざまなタイプのデザインの一部をターゲットにするのに役立ちます

デバイス、ここに典型的な画面幅のいくつかの数字があります:

..。

480dp:Streak(480x800 mdpi)のようなトゥイナータブレット。

600dp:7インチタブレット(600x1024 mdpi)。

..。

私のタブレットはこれらのカテゴリのいずれかに該当すると思いますが、幅は480でも600 dpでもありませんが、その中間にあります。私の場合、533dp(実際のデバイス)または580dp(エミュレーター)のいずれかです。

これが事実である場合、そのような「典型的な画面幅」の概要は、実際にはそうではないように見えますが、異なるベンダーのデバイスが標準のものの間に他のランダムな値を持つことができる場合、どのように役立ちますか?次に、dpを使用する利点がまったくないように見えるので、ピクセル値の操作に戻って作業することができます。

0 投票する
2 に答える
4174 参照

wpf - WPF ユニットとコード ビハインド

最近、WPF が XAML でさまざまな測定単位をサポートしていることを発見しました。デフォルトの DIP に加えて、ピクセル、インチ、センチメートルもサポートされています (私の知る限り)。これにより、デザイナーは次のような XAML を記述できます。

ただし、これらの値をバインドすることはできません。たとえば、「7cm」などの文字列である Dimension プロパティを持つ ViewModel があるとします。以下は機能しません:

FormatException がスローされます。同様に、FrameworkElementコード ビハインドで を作成する場合は、次のようになります。

コンストラクター/コントロールを作成しようとする場所で例外がスローされるため、コンパイルは失敗します。

私は疑問に思う:

  • コード ビハインドで自然単位 (私の場合はメートル - センチメートル) を使用することは可能ですか?
  • どのように?
  • WPF/XAML がサポートするユニットの完全なリストはありますか?

編集:

この質問を解決する以下のコメントからのリンクを次に示します。

http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.width.aspx

0 投票する
2 に答える
6398 参照

java - ピクセルをdpに変換する方法は?

Javaで簡単なAndroidアプリを作成しようとしていますが、道に迷いました。

多くのビットマップを含む配列リストがあり、それらをキャンバスに描画していますが、ピクセルの測定を使用しているため、ほとんどのデバイスで正しく表示されません。

それで、私のグラフィックのサイズをdpで見つけて、それをdpで画面密度/サイズにスケーリングし、dpまたはdipで配置する方法はありますか。

マイグラフィックス(四角):

ldpiのグラフィックサイズ=50px

mdpiでのグラフィックサイズ=75px

hdpiのグラフィックサイズ=100px

コード内の他のすべては、奇妙に見えることを除けば問題ありませんか?

どんな助けでもいただければ幸いです。

ジェームズ。

0 投票する
1 に答える
1565 参照

android - さまざまなサイズのデバイスで Android ビューがスケーリングされない

私はEclipseを使用しています.dpで幅と高さが設定された画像とボタンを含むビューがあります:

しかし、別のデバイスを使用すると、画像とボタンは画面に対して相対的に拡大縮小されないため、小さな画面では非常に大きく、大きな画面では非常に小さくなります。ビューで何か間違ったことをしていますか? マニフェストに何か設定する必要はありますか?

ありがとう。

完全なコード:

0 投票する
2 に答える
1707 参照

android - ディップをピクセルに変換して同じ値を生成する

アクティビティでは、密度に依存しないピクセルをピクセルに変換する必要があります。onCreateでこのメソッドを使用してみました

別の方法を試しました

どちらも同じ値を生成しています。問題は方法ではなく、リソースにあると思います。マニフェストファイルに次のような変更を加える必要があります

私と同じような質問があります。しかし、それは私の問題を解決していません。手伝ってください。

0 投票する
1 に答える
784 参照

java - px単位とdp単位の換算

layout_marginTopを使用して800pxに設定したいsetLayoutParams()dpしかし、私は単位でこの値が何であるかを知りたいですか?

前もって感謝します。