2017-10-05 24 views
0

私はフォルダdrawable-en-rCAに画像を持っています。 drawable-en-rINやdrawable-inのようなフォルダはありません。アプリケーションのロケールをen_INに変更すると、drawableはdrawable-en-rCAから取得されますが、デフォルトのdrawableフォルダから取得することが予想されますが、en_INに固有の描画可能ファイルは存在しません。ロケールがen_INの場合、drawable-en-rCAからAndroid drawableが選択されます

これがなぜ起こっているのか理解してもらえますか?

答えて

0

Android N以上を搭載した端末でこの問題が発生した場合は、この問題の回答がLocalization for Canada defaults to UK; should default to USと関連している可能性があります。 GoogleはImprovements to Resource-Resolution Strategy Android Nのドキュメントをリリースしました。この問題のバグレポートIncorrect resource resolution strategy above Android N, defaulting to en_GB and not default strings.xmlもありましたが、それはバグではなく機能です。ここでは、その応答である:そのようなロケールが使用可能な場合

はAndroidのN以降、(米国、プエルトリコ、米領サモアのような米国の領土を除く)全ての英語ロケールがいくつかの国際英語の変種にフォールバック。

だからエンCAのために、我々は(ないより良い国際英語のロケールが存在しない場合、国際英語の代表と考えられている)、GBエン背中に落ちる前に、まずこれらのロケールをしようとするだろう:EN-RCA(カナダ英語)、b + en + 001(国際英語)、en(英語)。 en-GB文字列をen-CAに使用したくない場合は、これらの3つのディレクトリのいずれかにリソースを配置する必要があります。これはen-CAに適していると見なされるためです。あなたのケースでは

、どのリソースがdrawable-en-rINに存在しない場合は、これらの(特別に新しいリソース解像度戦略文書)に基づいて、それは、あなたがen_INを選択したときと思われ、それは最も近い国際英語のディレクトリを探しますあなたの場合はdrawable-en-rCAです。存在しない場合は、デフォルトのドロウアブルフォルダがデフォルトになります。

希望します。

関連する問題