尊龙z6最新app注册-尊龙z6备用网址入口-尊龙游戏平台登陆官网网站建设第一品牌
网络营销整合专家

Weex 编码沉思录

来源:未知   2020-11-20 19:27

 

  weex代码中的高度和宽度的单位均为px,然而,在手机屏幕上显示的高宽却不一定与代码指定的相同。原因是weex框架在底层做了针对不同屏幕的适配工作,具体计算公式为 实际高宽 = 代码高宽 * (屏幕宽度 / 750)。

  那么,在一款屏幕分辨率为1920*1280的Android手机上,此时的计算过程为:

  如果我们开发的weex页面是全屏幕的,那么这个高宽的转换过程对我们而言是透明的,无需做额外的工作。然而一旦有一个业务场景,weex容器并非是全屏幕的,而是需要从外部传入weex容器的高度,那么,就不得不考虑这个转换的过程。

  可以看到,如果不考虑多屏幕适配,顶栏和底栏都是一个固定值,那么只需要用总容器高度 两个定高组件就可以了。那么需要解决的第一个问题,就是如何获取外部容器的高度。由于weex可以通过$getConfig().env.deviceHeight和$getConfig().env.deviceWidth的形式来获取手机屏幕的高度,因而,很自然地就想到,是否能在安卓中以屏幕的3/5的比例,约定容器高度,然后在weex代码中,同样通过3/5来计算容器高度。这样就避免了去写 Native Module 和 Method。

  然而,这样的思路是不可行的。因为Android Native的总高度,事实上是可供显示的全屏高度,而不一定是物理屏幕的高度,因为有状态栏,虚拟按键栏,Smartbar等等安卓碎片化引入的额外显示元素,实际全屏高度很有可能小于物理屏幕高度。所以,仍然需要开发和注册Native Module,以获取外部容器高度。

  再来看上文的计算公式:总容器高度 两个定高 = scroller高度。因为多屏幕适配的原因,上面的公式是不可行的,需要改为:

  外部传入的总容器高度 两个定高组件的高度字面量 * 转换比例 = scroller实际高度

  也就是说:外部传入的总容器高度 / 转换比例 两个定高组件的高度字面量 = scroller实际高度 / 转换比例 = scroller的字面量高度。

  这个坑非常的隐蔽,本质是因为:weex 默默做了A参考系转换到B参考系的过程,然而一旦我们自力更生,试图从B参考系获得一个测量得到的高度,用在A参考系,而没意识到这个隐蔽的转换过程的时候,就会陷入到一台机子上调好了,另一台又跪了的尴尬局面。而且,这种情况在Android上远较iOS要来的严重。因为iOS上,除了4S以外,5,5s,6,6p,6s,6sp,屏幕尺寸均为同一长宽比。因此,在一台上调整好后,可无缝等比例放大到其他机型上。然而在Android上,毋论碎片化的屏幕尺寸,光status bar,navigation bar,smartbar等等虚拟的占用实际显示区域的各类bar,就足够让weex的默认适配喝一壶的。因此,weex这种隐蔽适配的处理方式,在Android生态上是否真的合理方便,尚待商榷。

点击进入“下一篇”继续浏览
返回列表

最新资讯最新资讯

品牌创意网站建设 上市公司网站建设 大型门户类网站建设 全方位网站运营代理
企业官方网站建设 B2C电子商务网站建设 专题活动网站(MINISITE)

更多 +联系我们

业务电话:0755/837391590755/33121570

业务 QQ:   传真: 0755-83739169

E-mail:   售后QQ :764390686

我们的认知

当对手还在将注意力停留在碎片化的互联网设计或程序实现时,织梦帮早已开始将数字品牌的建设和传播进一步整合。只有通过整体的互联网品牌分析,帮助品牌建立互联网品牌传播价值,并围绕价值建立品牌粘性,提升品牌与用户的互动,更好的帮助品牌传播,触发用户的行动力才是我们工作的终极目标,这正是一流品牌的成功秘诀。
不可否认,建立互联网品牌传播价值的确是门艺术,但互联网不同于艺术涂鸦,企业投资品牌绝不是希望品牌成为某个艺术家的实验品。互联网传播的对象是用户,用户拥有自己的文化体系,群落共性才是互联网品牌传播创意的源头,如果我们不能帮助企业激发目标用户的共鸣,产生购买冲动,那将是品牌的悲剧! 因此,互联网传播必须建立品牌传播价值,为梦想者创造梦想品牌,织梦帮与您同行!

合作意向表

您需要的服务

现有网站改版
我需要做微信营销
建设全新的企业网站
要找长期合作公司,需要年度服务

您最关注的地方

对功能要求比较高
对设计创意要求比较高
需要可以购物支付
搜索引擎排名

预算

3-5万 5-8万 8-10万 10万以上需招投标
验证码