1

我正在开发一个应用程序,它捆绑了一些资产——它们主要是带有相关图形、css 等的网页,我将在自定义的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 等然后以某种方式将网页指向可绘制对象,以某种方式利用 /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/hdpiassets/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 回答