不同设备配置的不同资产

时间:2011-10-04 12:59:32

标签: android webview android-assets

我正在开发一个包含一些资产的应用程序 - 它们主要是带有相关图形,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等,然后以某种方式将网页指向drawable,以某种方式将/ res /文件夹管理用于相同的最终结果吗?

1 个答案:

答案 0 :(得分:3)

可能的解决方法: 为要解决的不同分辨率准备一个名为“subpath”的字符串,例如:

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");