小米电视大屏的分辨率是 3840 X 2160,但uniapp 开发的apk,使用webview加载网页,只有 960 X 484。
导致问题:
1,网页样式效果走样
2.elementui table 单元格里面的字体已是12px
请各位指点:
1.开发数据可视化大屏,使用什么方式较好?
2.目前问题的调优思路?
本地使用浏览器调试,谷歌浏览器设置为手机模式,自定义分辨率3480×2160,使用这个分辨率去调试本地代码,只要在浏览器中展示正常,你的大屏就是正常的了
另外建议一下,大屏项目可以使用vue框架+datav进行开发
http://datav.jiaminghi.com/
题主可以使用transform对页面进行适配:
<script>
$(document).ready(function () {
initdocument();
});
$(window).resize(function () {
initdocument();
});
function initdocument() {
var devicewidth = document.documentElement.clientWidth
var deviceheight = document.documentElement.clientHeight
var width = devicewidth / 3840
var height = deviceheight / 2160
document.getElementsByTagName("body")[0].style.transform = 'scale(' + width +
',' + height + ')'
document.getElementsByTagName("body")[0].style.transformOrigin = '0 0'
}
</script>
<body style="width:3840px;overflow:hidden;>
</body>
看下uniapp官方文档的 宽屏适配方案是否对你有所帮助
可视化大屏个人感觉用vue框架比较合适,或者使用浏览器插件,有一款 魔窗 浏览器插件 可以设置你需要的分辨率进行调试。
调试好后再用实际的大屏测试
vue+rem布局(vw,vh)
采用vue+rpx开发
宽屏适配指南
宽屏适配指南 | uni-app官网
WebSettings settings = webView.getSettings();
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);
有没有这样设置试试?
使用rem 或者百分比 尺寸单位,
使用remove 监听窗口变化
https://blog.csdn.net/weixin_28852151/article/details/111887302
可能是屏幕的密度不同导致的
我们公司中大屏数据展示项目前端使用的vue
搞个小主机,HDMI接电视上?
你的问题应该是缩放的问题,因为尺寸是38402160,而你开发的分辨率是960484,这样如果放大4倍,就是3840*1936,这样很明显是无法全屏去展示的,比例是不合适的。
问题1: 解决方法一:样式效果走样主要是因为分辨率不成比例的问题,可以调整一个不要直接全屏,在根节点上设置一个自动缩放的高级组件,让宽高放大四倍,但是不回铺满全屏,居中展示,上下缝隙填充和北京同样的底色,或者使用图片。
解决方法二:就是调整页面,把484的高度拉伸,样式的高度设置为540,这样就是等比例放大了。但是因为你的图是使用scale放大的,所以高清效果不好,建议最好做图的时候使用3840*2160,或者是2、4倍图,这样高清效果好。
这个也是针对这个问题的调优思路。
问题2: 至于开发可视化大屏使用什么方式比较好,我觉得没有啥固定的方式,你熟悉什么,就使用什么,react,vue等都行,随意,毕竟页面是死的,编程是活的,你哪个熟练,使用哪个就好了,没啥固定的框架,可以多思考一下针对遇到的问题封装组件,这样,你开发的页面越多,积累越多,干活就越容易。
现在样式兼容不都是用 postcss 吗?字体什么都给你兼容了,你在pc上是什么感受,换大屏后依旧是什么感受
可以用rem
这个是要自己写适配的,工具只是辅助开发,并不能限制你窗口的实际应用大小
直接联系uniapp官方优化,使用webview加载网页的时候把尺寸优化一下,
我之前使用uniapp开发小程序的时候也找过官方,帮我排查解决了问题~
希望对您有帮助
uniapp默认适配的最大屏幕宽度为960px,超过这个范围rpx将不生效,而某些平板的尺寸比如ipad pro宽度超过了这个数值,所以需要在pages.json中添加配置:
"globalStyle": {
"rpxCalcMaxDeviceWidth": 1024, // rpx 计算所支持的最大设备宽度,单位 px,默认值为 960
"rpxCalcBaseDeviceWidth": 375, // rpx 计算使用的基准设备宽度,设备实际宽度超出 rpx 计算所支持的最大设备宽度时将按基准宽度计算,单位 px,默认值为 375
"rpxCalcIncludeWidth": 750 // rpx 计算特殊处理的值,始终按实际的设备宽度计算,单位 rpx,默认值为 750
},
```javascript
```
朋友可以试试uni-app就是里面vue-rpx可以实现
uni-app提供了 match-media组件 (opens new window)和配套的 uni.createMediaQueryObserver (opens new window)方法。它的详细文档参考:https://uniapp.dcloud.net.cn/component/match-media