問題タブ [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.
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を使用する必要があるのですか?理想的だと思いますが、なぜですか?
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量があります
よくわかりません..
android - キャンバス上のビットマップを常に「フルスクリーン」にする
だから私はビットマップを描く場所にこのキャンバスを持っています
例は背景としてのビットマップです..だから私は私の533x320ディップSamsung S2でこのフルスクリーンを作ります
したがって、この同じアプリを 480x320 ディップの HTC にロードすると、背景画像が画面よりも大きくなります。これは通常どのように処理されますか?
DIPサイズを確認してそれを使用できると答える人もいるかもしれません..これはこの背景画像でも機能します..しかし、私が持っている10個のチェスの駒はどうですか。 HTC の 480dp を拡張しますが、私の 533dp S2 でうまく動作しますか?
これは通常どのように処理されますか?
android - Android 起動時のカスタム解像度の指定 (DIP)
DIP が異なるいくつかの異なる画面サイズ用に開発しています。AVD では問題ありませんが、実際のデバイスでテストしたいと思います。ボードが接続されている大きな画面があります。しかし、どうすればカスタム解像度で Android を起動できますか? それはどこで指定されていますか?
android - 7"タブレットと7"タブレットエミュレータでのDP計算に関する問題
7インチタブレット(800x480px)のdp計算に問題があります。以下は、私の計算方法です。計算または思考のどこで間違いを犯しているのかわかりません。
テストしているデバイスは3つあります。
- Nexus One:800x480px、3.7インチディスプレイ(仕様)
- Huawei Ideos:320x240px、2.8 "ディスプレイ(仕様)
- Ainol Novo 7 "タブレット:800x480px、7"ディスプレイ(仕様)
ディスプレイサイズに基づいて、式に基づいてDPI(1インチあたりのドット数)を手動で計算しています。
だから私は得ています:
- Nexus One:sqrt(800 * 800 + 480 * 480)/3.7 = 252.15dpi
- Huawei Ideos:sqrt(320 * 230 + 240 * 240)/2.8 = 142.86dpi
- Ainol Novo 7 "タブレット:sqrt(800 * 800 + 480 * 480)/ 7 = 133.28 dp
次に、画面メトリックのdpi値を出力し、それに基づいて、画面の幅と高さをdp(密度に依存しないピクセル)で出力します。そのための私のコードは次のとおりです。
結果は次のとおりです。
- Nexus One:スケーリングされた密度:1.5、密度DPI:240、 dp単位の幅:533、dp単位の高さ:320
- Huawei Ideos:ScaledDensity:0.75、Density DPI:120、 dpでの幅:426、dpでの高さ:320
- 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コードのログ行には、実際のタブレットデバイスの場合と同じ値が表示されます。
- 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を使用する利点がまったくないように見えるので、ピクセル値の操作に戻って作業することができます。
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
java - ピクセルをdpに変換する方法は?
Javaで簡単なAndroidアプリを作成しようとしていますが、道に迷いました。
多くのビットマップを含む配列リストがあり、それらをキャンバスに描画していますが、ピクセルの測定を使用しているため、ほとんどのデバイスで正しく表示されません。
それで、私のグラフィックのサイズをdpで見つけて、それをdpで画面密度/サイズにスケーリングし、dpまたはdipで配置する方法はありますか。
マイグラフィックス(四角):
ldpiのグラフィックサイズ=50px
mdpiでのグラフィックサイズ=75px
hdpiのグラフィックサイズ=100px
コード内の他のすべては、奇妙に見えることを除けば問題ありませんか?
どんな助けでもいただければ幸いです。
ジェームズ。
android - さまざまなサイズのデバイスで Android ビューがスケーリングされない
私はEclipseを使用しています.dpで幅と高さが設定された画像とボタンを含むビューがあります:
しかし、別のデバイスを使用すると、画像とボタンは画面に対して相対的に拡大縮小されないため、小さな画面では非常に大きく、大きな画面では非常に小さくなります。ビューで何か間違ったことをしていますか? マニフェストに何か設定する必要はありますか?
ありがとう。
完全なコード:
android - ディップをピクセルに変換して同じ値を生成する
アクティビティでは、密度に依存しないピクセルをピクセルに変換する必要があります。onCreateでこのメソッドを使用してみました
別の方法を試しました
どちらも同じ値を生成しています。問題は方法ではなく、リソースにあると思います。マニフェストファイルに次のような変更を加える必要があります
私と同じような質問があります。しかし、それは私の問題を解決していません。手伝ってください。
java - px単位とdp単位の換算
layout_marginTop
を使用して800pxに設定したいsetLayoutParams()
。dp
しかし、私は単位でこの値が何であるかを知りたいですか?
前もって感謝します。