android - 将 dp 值转换为 WebView 内部可用的 px 值(dp 到 CSS px)

标签 android

我正在从头开始创建一个 HTML 页面,并在其中动态放置值,然后将其显示在 WebView 中。

我正在尝试在 WebView(作为 HTML)中复制 ActionBar(出现在应用程序的其他 Activity 中)​​。

我知道 Actionbar 的高度以及其中标题的文本大小。

我正在从 dimens 文件夹中检索值,就像这样......

mTitleSize = res.getDimensionPixelSize(R.dimen.actionbar_title_text);//50dp mActionbarH = res.getDimensionPixelSize(R.dimen.actionbar_height);//25sp

...并将它们放在 html 文件的 CSS 中。

我的问题是上面的值太大了。操作栏的高度和文本大小太大了。相同的 dimens 值用于在应用程序的其余部分显示操作栏(不是 webview,而是 RelativeLayout 内的原生 android View)和它们看起来很棒。

所以...我猜转换后的 50dp25sp 像素值在原生 View 中并不意味着相同在 WebView 里面?网页是否以不同于 native 应用程序的方式呈现?

如果是这样,应该如何转换 dp 才能在 Webview 中使用 px 值并仍然保持它看起来像应用程序的其余部分?

最佳答案

我想通了。我只需要将值除以设备的密度

res.getDimensionPixelSize(R.dimen.actionbar_height)/res.getDisplayMetrics().density

... 并在 CSS 中将该值设置为 px

就是这样。

关于android - 将 dp 值转换为 WebView 内部可用的 px 值(dp 到 CSS px),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23198099/

相关文章:

java - 由于找不到 tools.jar,运行 android 构建失败以响应 native 项目

android - 如何查看Android "Mobile data"是否开启

java - 如何设置android状态栏的标题居中

Android - 手机资源使用率高导致一个耳机音量低?

Android:在 XML 中使用 StreetViewPanoramaView

java - 高效的图像调整大小

android - 改变声音/点击软键盘 - android

android - 如何从layout.xml 中获取当前应用主题的颜色?

android - 在屏幕的任意位置显示 AlertDialog

android - 如何知道一个应用程序是第一次下载还是多次从市场下载?