android - 如何使用 dip 在 webview css 中指定图像大小?

标签 android css webview

我有一个通过 CSS 文件格式化的 WebView - 我从应用程序中为此 View 动态生成 HTML,就像 Web 服务器所做的那样。生成的 HTML 引用静态 CSS 文件进行格式化。我有一个图像格式化指令,例如:

img {
    width: 20px;
    height: 20px;
}

为了让这个设备独立,我想使用 dip 而不是 px 来测量宽度和高度。我无法弄清楚(也找不到)如何在 css 定义中将 dip 指定为一个单位。我试过“dp”和“dip”,都没有用。这能做到吗?

我知道我可以通过 <"target-densitydpi=high-dpi"> 类型的选择器选择多个版本的 CSS 文件,但这意味着我将拥有重复的 CSS 文件,只是为了能够调整大小根据不同的设备密度的图像。可行,但我希望能够在 CSS 文件中指定 dip 并让 WebView 为我完成工作。

同样可行的方法是在 HTML 头部生成内联样式表并将 dip 转换为特定设备的 px,但这会导致 CSS 定义和 HTML 生成代码之间的耦合。可能比多个 CSS 文件(对于我的应用程序)更好,但如果只在 CSS 文件中设置 dip 并完成它会更好。

(我的图像旨在允许在当前支持的屏幕密度范围内调整大小而不会出现伪影)

最佳答案

CSS 中可用的单位在这里:

http://www.w3.org/TR/css3-values/#lengths

没有 dp 或 dip,所以我不确定您是如何想到存在这样一个单位的。

相反,CSS 规范规定像素大小应根据设备的相对大小进行缩放。

这是理论。

实践是您可能希望动态生成 CSS 以支持此类功能。

关于android - 如何使用 dip 在 webview css 中指定图像大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6652158/

相关文章:

Flash 全屏打开时 Android WebView 空白 - ICS 4.0

Android、Webview、获取提交的表单数据

java - 如何从base64解码视频?

CSS3 移动元素

html - 如何在图标之间创建垂直线(同时使用带有 html 元素的 Bootstrap 列类)

html - 你如何实现这种向后的 div 效果?

android - 如何在Android中将任意格式的base64数据加载到webview?

android - 未设置 "ArrayAdapter"

android - 使用 Material Design 在工具栏中滑动标签

Android - NumberFormatException 问题