2

現在、res / drawableフォルダーを使用して画像を保存する代わりに、アセットフォルダーに画像を保存する必要があるプロジェクトがあります。ただし、デバイスの解像度/密度などに応じて、Androidの画像の自動選択(たとえば、drawable-hdpi、drawable-mdpiなどの修飾子を使用)を活用したいと考えています。

私の質問は、アセットフォルダーで修飾子を使用し、Androidメカニズムを使用して最適な画像リソースを選択できるかどうかを知っていますか?そうでない場合は、回避策として使用できる他のアプローチを知っていますか?

ありがとう。

4

2 に答える 2

7

修飾子は、リソースフォルダーに対してのみ機能します。ただし、アセットから使用するファイル名を取得するために修飾子を使用できます。

たとえば、values-ldpi、values-hdpiなどに異なるstrings.xmlを含めることができます。これらの各strings.xmlには、使用するファイルの名前が含まれています。

値-ldpi/strings.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="logo_file">logo-ldpi.png</string>
</resources>

値-mdpi/strings.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="logo_file">logo-mdpi.png</string>
</resources>

次に、を使用してlogo_fileの名前getResources().getString(R.string.logo_file)を取得し、それを使用してアセットから取得できます。

于 2012-10-10T09:00:57.183 に答える
0

他の方法はかなり面倒だと思います。Configurationクラスを使用して、向き、画面密度などを照会できます。構成の詳細がわかったら、自分で正しいリソースを選択できます。

于 2012-10-10T08:53:42.103 に答える