我正在从头开始创建一个 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
)和它们看起来很棒。
所以...我猜转换后的 50dp
和 25sp
像素值在原生 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/