我正在尝试做一个阅读类型的应用程序,我正在下载html格式的文章并在WebView
中显示它们,并使用资产中的本地.css对它们进行样式化。
我用webView.loadDataWithBaseURL("file:///android_asset/", html, "text/html", "UTF-8", null);
然而,问题是.css使用px
作为一个单位,所以我想这不会飞,我想调整在平板电脑和不同方向上使用的值,就像你通常那样。然后我听说,WebView能够以"file:///android_res/"
作为基本URL来加载来自资源的东西。
所以我想知道,我可以将它用于/raw
文件夹中的.css文件,并利用带有限定符/raw-land
,/raw-sw720
等的资源系统,就像通常那样样式布局时。
不幸的是,这似乎没有用,即使我做了像"file:///android_res/raw/land/"
这样的事情,但硬编码的路径有点打败了紫薇。
那么..有什么解决方案吗?我最担心的是使用像素作为单位,但webview似乎可以自行调整内容,对吧?
谢谢!
答案 0 :(得分:2)
就我而言,你可以在CSS文件中使用条件样式表标签,Android会理解。
有关此问题的更多信息,请访问http://developer.android.com/guide/webapps/targeting.html
例如,您可以为每个密度创建单独的样式表:
<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 1.5)" href="hdpi.css" />
<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 1.0)" href="mdpi.css" />