問題タブ [screen-density]
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.
android - コールド スタート時にカスタム ビューの高さを取得するのが難しい
ビューの高さを取得するのに苦労しています。現在、アプリのコールド スタート時にgetMeasuredHeight()
、ビューで が返されます0
。
今、私はこれを回避する方法を知っています。ビューがまだレイアウトされていないために発生しています。残念ながら、 a のようなものを使用してaddOnGlobalLayoutListener
も十分ではありません。usingTabLayout
のオフセットを設定するには、このビューの高さ (ユーザーの設定に応じてツールバー +またはツールバーのみ) が必要です。アプリのコールド スタート時に、「更新」されていることが示されます。データの読み込み中または変更中はいつでも、「更新中」と表示されます。高さがわからないと「スッキリ」とは言えません。コールド スタートの開始時に必要なため、計算を遅らせることはできません。言うまでもなく、それは 2 つの可能な高さのうちの 1 つかもしれません。SwipeRefreshLayout
setProgressCircleOffset()
SwipeRefreshLayout
SwipeRefreshLayout
だから私の質問はこれです:私たちはデバイスのDPIを取得することができ、私は一般的に(試行錯誤によって)dp
ビューの高さ(で)を見積もることができるので(そしてそれは代替です)-「式を作成することは可能ですか? 」または画面サイズに基づいてオフセットを調整するものはありますか? を に変換する必要があることはわかっていますがdp
、px
それ以上はどうすればよいかわかりません。
たとえば、Nexus 6 ではこのビューの高さが 334px (513dpi に設定) であることがわかっています。しかし、私の在庫のPixel Cでは間違いなく少ないです(334pxのオフセットはPixel Cでは大きすぎます).
android - 保証されたスペースの Android DP 制限
この質問が以前に尋ねられた場合は申し訳ありませんが、その場合、検索で見つけるのは困難でしたが、ここに行きます:
Android Studio で DP ピクセルを使用すると、プレビューと比較して、実際のデバイスまたはエミュレーターで要素が広くなったり短くなったりすることがあります。これは、異なる密度を考えると理にかなっています。
私が疑問に思っているのは、高さおよび/または幅に関して特定の黄金の制限があるかどうかです。これにより、すべてのコンテンツをこの制限内に保つと、画面密度に関係なく、何も画面外にならないことが保証されます。デバイスは。
たとえば、チェス盤を作りたい場合、できるだけ幅を広くしたいのですが、常にどの画面にも収まるようにします。ここに黄金の限界はありますか?
android - Android リソースの選択ロジック
values 、 values-hdpi 、および values-xxhdpi フォルダーにいくつかの次元を定義しました。
リソース選択ロジックは少し紛らわしいです。たとえば、値を削除すると、xxhdpi 画面密度の xxhdpi デバイスは、デフォルトではなく hdpi から値を選択し始めますか? リソースがスケールダウンされ、スケールアップされないことを開発者サイトで読んだので、これは正常ですか? xxxhdpi と xhdpi は何を選択しますか?
android - どの w をどのように調べ/計算しますか?、hまたは電話が使用し、どの手順を使用するか?
複数の画面のレイアウトの最適化に取り組んでおり、さまざまなdimens
ファイルを定義する方法に行き詰まっています。したがって、アンドロイド開発者にはsw<N>
、w<N>
またはを使用する必要があると書かれていますh<N>
が、特定の電話がどちらを使用するかを事前に知るにはどうすればよいですか?
画面解像度が 720 x 1280 の Sony LT26i があり、(試行錯誤により) 修飾子w<360>
とh<615>
. 完全にはわかりませんが、 360 は px 式の逆方向の計算、つまりpx = dp * (dpi / 160)
( 360 = 720 * 160 / 320
、320 はクラスDensityDpi
ごと) であると推測します。DisplayMetrics
ただし、同じロジックを幅に適用すると 640 になるのに、なぜ私の電話は 615 ( dpi
333.00813 の値に対応する) を使用するのでしょうか? または、幅と高さの dpi が異なりますか?
dimens
最適化のために、ファイルを定義するステップをどのように選択すればよいですか? 私は自分の携帯電話のピクセル値に基づいて計算し、px 式 (上記) を使用して指定された画面密度に基づいてステップを作成し、指定された比率 (つまり ldpi から xxxhdpi へ.75:2:3:4:6:8
) に基づいて値をスケーリングすることを検討しています。物事の進行状況に応じて個々の値を調整します。より良い方法はありますか?
AVD の特定の構成とdimens
アプリをテストするための推奨事項はありますか?
android - デバイスの物理密度と物理密度の違いは正確には何ですか?
解像度とピクセル密度に基づいて対角線の画面サイズを計算する関数を作成しました。つまり-
adbシェルを使用して情報(解像度とピクセル密度)を取得したい。このコマンドを試しているとき-
私が得ている結果は、デバイスの物理密度(= 320)ですが、特定のデバイスのピクセル密度は(~294)です。これら2つの違いが正確に何であるか、またadbコマンドを使用してピクセル密度を見つける方法、この場合は〜294を知りたいです。
PS-私が取り組んでいるデバイスは-MOTO XT1068です
android - Google Play ストアでアプリを公開しましたが、samsung galaxy note5 と nexus 6 では表示されません
Galaxy Note 5 を使用していますが、アプリケーションをインストールできませんが、他の携帯電話やタブレットでは動作します。
電話にはクアッドHDスクリーンが搭載されているという事実に関係している可能性があると思いますが、他のものは正常に動作しているようです. 他に何が違うのかわかりません。私
Google開発者コンソールに行きました.5はすべてのデバイスのリストにもありません.
android - 特定のデバイスでアプリが表示されない
Google Play ストアでアプリを公開しましたが、Sony Xperia Z2、OnePlus2 などの多くのデバイスではサポートされていません。アプリのマニフェスト ファイルは次のとおりです。
問題は〜400 dpiのデバイスにあると思います。これらのデバイスを自分のアプリでサポートできるようにするにはどうすればよいですか?