モバイルアプリケーションは、画面サイズやフォームファクターが異なるさまざまなデバイスで実行されます。 NativeScriptは、現在のデバイスの画面サイズ、プラットフォーム、および向きに基づいてロードされるさまざまなファイル(.js、.css、.xmlなど)を定義する方法を提供します。 このアプローチは、Androidのマルチスクリーンサポート にいくぶん似ています。 ファイルがロードされるときに尊重されるファイル内に追加できる修飾子のセットがあります。 ファイル名は次のようになります。
<file-name>[.<qualifier>]*.<extension>
NativeScriptは、3つの異なるファイル修飾子をサポートしています。
android
– Androidプラットフォームios
– iOSプラットフォーム例(プラットフォーム固有のファイル):
app.android.css
- Android向けのCSSスタイル。app.ios.css
- iOS向けのCSSスタイル。プラットフォーム修飾子はビルド時に実行され、その他は実行時に実行されます。 たとえば、androidプラットフォーム用にビルドする場合、app.ios.cssファイルは考慮されません。 逆に、特定の画面サイズのデバイスでアプリケーションが起動された直後に、画面サイズ修飾子が考慮されます。
画面サイズ修飾子のすべての値は、密度非依存ピクセル(density independent pxels)(dp)です。 つまり、画面の物理的な寸法に対応しています。 前提は、1インチあたりおおよそ160 dpであることです。 たとえば、Androidガイドラインによると、デバイスの小さい方の寸法が600dp(約3.75インチ)を超える場合、おそらくタブレットです。
minWH<X>
- 小さい方の寸法(幅または高さ)は、少なくとも X dp である必要があります。minW<X>
- 幅は少なくとも X dp である必要があります。minH<X>
- 高さは少なくとも X dp である必要があります。例(タブレットと電話用の個別のXMLファイル):
main-page.minWH600.xml
- タブレットデバイスで使用するXMLファイル。main-page.xml
- 電話(スマホ)に使用されるXMLland
- 横向きモードです。port
- 縦向きモードです。