リソース構成修飾子をプログラムで変更することは可能ですか? つまり、一部の hdpi デバイスのシステムを作成すると、hdpi ではなく xhdpi フォルダーからリソースが取得されます。
5 に答える
私のプロジェクトには、ldpi、mdpi、hdpi、および xhdpi イメージ リソースがあります。Kindle fire (1024 x 600 - 169 dpi) の場合、Android システムは mdpi フォルダーからリソースを取得し、アプリケーションの表示が非常に悪くなります。Androidがhdpiフォルダーからリソースを取得できるようにしたい。
あなたのコメントに関連して、私は通常、hdpi画面のみにリソースを提供し、他のすべての密度は正常に機能します。私が通常対象としている 2.1+ または 2.2+ デバイスでのテスト!
文書化されていないリスクを理解しているので、動作するはずがありません! そのようにして、最終的なapkからいくつかのKBを回避します.
ただし、xhdpi は 3 以上のデバイスでのみ機能するため、hdpi の代わりに xhdpi を使用することはお勧めしません。
単一のデバイスでさまざまな密度をテストするためだけに、次の方法で AVD を変更できます。
am display-density 480
詳細については、Android ドキュメントを参照してください: http://developer.android.com/tools/help/adb.html#shellcommands
デバイスの幅やその他のプロパティのリソースをカスタマイズすることもできます。これを読んでください:http://developer.android.com/guide/practices/screens_support.html
Kindleは大画面ですが中密度です
res/layout-large/your.xmlからレイアウトを取得します
しかし、res/drawable/mdpiからの画像なので、 res/drawable/mdpi-large というフォルダーを作成するだけです
これがうまくいくことを願っていますが、画像はkindleの解像度に従っている必要があります
I'm not sure if you can. Don't get me wrong: I personally would like to know the answer to this as well. What exactly would you like to do?
If you are going to do things programatically anyways, it might be better to put the asset into straight drawable, and then apply scaling. You can get the density multiplier pretty easily