奇妙な問題があります。
あなたが私を非難する考えに至る前に、私はカスタムのジェリービーンに取り組んでいます. したがって、「通常の適切なアプローチ」はここでは機能しない可能性があり、汚い回避策を講じる必要があります。
アセットに以下を含む APK があります。
layout
layout-mdpi
layout-land
layout-large-mdpi
layout-large-land-mdpi
layout-large-hdpi
layout-large-xhdpi
そして、他のいくつかのメトリクス コードはこれを返しました:
D/AppDemo( 2091): measured width: 1920 PE width: 1920 scaleFactor = 1.0
D/AppDemo( 2091): [ANDROID] measured width: 1920 measured height: 1080
D/AppDemo( 2091): [ANDROID] scale for resources: 2.0 xdpi: 320.0 ydpi: 320.0
D/AppDemo( 2091): [ANDROID] screen density: xhdpi
D/AppDemo( 2091): [ANDROID] screen size: large
D/AppDemo( 2091): [ANDROID] using layout: layout-mdpi
layout-large-xhdpi
では、メトリクスを見ると、ロードされていないのはなぜでしょうか?
これを調べられる場所を教えてください。Layout/Resource/AssetManager
に特定のレイアウトを強制的にロードする方法を見つける必要があります。
この問題に関する最も一般的なコメントは「あなたは必要ない/なぜあなたは持っているのですか、あなたは持ってlayout-xhdpi
いるべきですか」ですが、ご容赦ください.drawable-xhdpi
layout-large
どこを見て、何を探すべきかについての小さなヒントでも非常にありがたいです。これまでのところ、AssetManager
掘り下げ/ロギングを開始する場所のようです。
を省略するlayout-mdpi
と、アプリケーションがクラッシュし、リソースが不足します。バグは、コードが返されても、別の場所xhdpi
を想定しているようmdpi
です。これを見つけて修正する必要があるので、私のアプリは ICS の場合と同じように見栄えがします :)
どのレイアウトがロードされているかを簡単な方法で把握しています。すべてのルート レイアウトにはandroid:tag
要素がありsetContentView(R.layout.main_layout)
、ルート要素のタグを取得すると、どのフォルダがロードされたかがわかります。視覚的なフィードバックとは別に、これは最終的にデバイスの構成と一致する必要があります。
前もって感謝します。