Androidでは、さまざまなサイズの画面/デバイスに対応するために、ドローアブルフォルダーにhdpi/mdpi/ldpiを定義できます。その同じサポートをValuesフォルダ(またはレイアウトフォルダ)にも適用できるかどうか疑問に思っていましたか?理由として、私は通常、マージンとパディングに適用する標準のdpサイズを保持する「sizes.xml」ファイルを定義しています。テキストのspサイズについても同じようにします。電話のdpiに基づいてこれらの値を調整したいと思います。
はい、res/
フォルダーは「構成修飾子」を使用できます。したがって、たとえば、values-sw600dp-mdpi-land/
フォルダ。
「設定修飾子の使用」を参照してください: http://developer.Android.com/guide/practices/screens_support.html#qualifiers
私は最初にGoogleのIOSchedアプリのサンプルコードを見て、これに気づきました。res
フォルダーを見てください: https://github.com/google/iosched/tree/master/Android/src/main/ res
いくつか例を挙げると、「values-sw600dp-land」、「values-w400dp」、「values-v17」のフォルダーがあることがわかります。
はい、できます。ちょうどこのような:
res/values/dimens.xml(default)
res/values-ldpi/dimens.xml (240x320 and nearer resolution)
res/values-mdpi/dimens.xml (320x480 and nearer resolution)
res/values-hdpi/dimens.xml (480x800, 540x960 and nearer resolution)
res/values-xhdpi/dimens.xml (720x1280 - Samsung S3, Micromax Canvas HD, etc)
res/values-xxhdpi/dimens.xml (1080x1920 - Samsung S4, HTC one, etc)
res/values-large/dimens.xml (480x800)
res/values-large-mdpi/dimens.xml (600x1024)
res/values-sw600dp/dimens.xml (600x1024)
res/values-sw720dp/dimens.xml (800x1280)
res/values-xlarge-xhdpi/dimens.xml (2560x1600 - Nexus 10")
res/values-large-xhdpi/dimens.xml (1200x1920 - Nexus 7"(latest))
(from: http://wiki.jikexueyuan.com/project/Android-actual-combat-skills/multi-resolution-adapting-common-directory.html 警告:リンクは中国語です!!!翻訳するには、ページを右クリックし、ポップアップメニューの[英語に翻訳]をクリックしてください。)
一部のhdpiデバイスは、values-xhdpiから値を取得しますが、valuesフォルダーは、デバイスの解像度に基づいてさまざまなマージンとフォントサイズを設定するのに適しています。したがって、values-normal-hdpiを使用する代わりに、values-normal-xhdpiがより適切な答えです。
これを使用することで、値のフォルダに異なるdpsとサイズを設定して、電話とタブレットを非常に簡単にサポートすることで、異なるレイアウトフォルダを不要にすることもできます。
はい、標準の修飾子が何であるかに基づいて、使用するファイルを定義できます。たとえば、私のアプリの1つで、さまざまなサイズと方向のstyles.xmlファイルとstrings.xmlファイルを定義しましたが、すべて期待値values-large-hdpiやvalues-large-land-hdpiなどとして機能します。