1

私はいくつかのアセットがバンドルされたアプリケーションを開発しています-それらはほとんどが関連するグラフィックス、cssなどを備えたWebページであり、カスタムで表示しますWebView。大規模な重複なしに、さまざまなアセットをさまざまなデバイスに提供する方法を模索しています。

resフォルダーを複製したいのですが、アセット用です。例えば:

Assets / html/page1.htmlはassets/html / example_pic.pngを参照していますが、画面密度または画面サイズに応じて異なるexample_pic.pngを提供したいと思います。

理想的には、assets_hdpi / html/example_pic.pngやassets_mdpi/html/example_pic.pngのようなものが欲しいです。

これを達成するためのエレガントな方法はありますか?example_pic.pngを/res/ drawable_hdpiなどに配置し、Webページをドローアブルにポイントすることで、/ res /フォルダー管理を同じ最終結果に利用できますか?

4

1 に答える 1

3

考えられる回避策:アドレス指定するさまざまな解像度の文字列という名前の「サブパス」を準備します。例:

res/values-hdpi/subpath.xml:<string name = "subpath"> hdpi </ string>

res/values-ldpi/subpath.xml:<string name = "subpath"> ldpi </ string>

アセットフォルダに対応するサブパスを準備します(例: assets/hdpi、)assets/ldpi。アセットをそこに保存します。

最後に、を使用getResources.getString(R.string.subpath)して最適なアセットサブパスを取得します。

String AssetPath= "file:///android_asset/"+getResources.getString(R.string.subpath)+"/";
myWebView.loadPage(AssetPath+"index.html");
于 2011-10-04T13:36:01.777 に答える