微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 将dp值转换为WebView中可用的px值(dp到CSS px)

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

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

我知道Actionbar的高度以及它内部标题的文本大小.

我正在从维度文件夹中检索值,如此…

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

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

我的问题是上面的值太大了.操作栏的高度和文本大小太大.相同的尺寸值用于在应用程序的其余部分显示操作栏(不是webview,而是在RelativeLayout中显示本机android视图),它们看起来很棒.

所以…我猜测转换后的50dp和25sp的像素值并不意味着在原生视图和WebView内部相同?网页是以与本机应用程序不同的方式呈现的吗?

如果是这样,应该如何转换dp以便能够在Webview中使用px值并仍然将其视为应用程序的其余部分?

解决方法:

我想到了.我只需要将值除以设备的密度

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

…并将CSS中的值设置为px

就是这样.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐