我正在从头创建一个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 举报,一经查实,本站将立刻删除。