收藏
回答

wx.getSystemInfo()能否加多数据字段,例如设备像素密度,几寸屏

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小游戏 需求 wx.getSystemInfo 客户端 6.7.3 2.4.0

使用环境

小游戏,cocos  creator开发


需求场景

wx拉起键盘 or 读出 右上角菜单栏的位置信息,游戏场景里根据键盘高度 or 右上角的对齐数据 进行UI调整。


尝试:

wx接口读出的单位数据到creator并不能直接使用,而是需要转化。参照WCSS的,瞎猜计算如下:

IOS下,X,ipad等完美~

但是在andorid下,必须 再照 px---dp的转换后 数据才能完全精准(多机型实际参数传入测试)。


问题:

无法撸到DPI / PPI ,或者是几寸屏~~


希冀

wx返回的设备信息丰富些~~,or creator 能否计算


回答关注问题邀请回答
收藏

2 个回答

  • 法隆
    法隆
    2018-11-20
    pixelRate = res.windowWidth / 750;


    2018-11-20
    有用
    回复 5
    • 乔一
      乔一
      2018-11-20

      这个像素率能干啥撒

      2018-11-20
      回复
    • 法隆
      法隆
      2018-11-20回复乔一
      rpx换算px (屏幕宽度/750)px换算rpx (750/屏幕宽度)


      2018-11-20
      回复
    • 乔一
      乔一
      2018-11-20回复法隆

      安卓呢亲爱的。

      2018-11-20
      回复
    • 法隆
      法隆
      2018-11-20回复乔一

      一样啊为啥要转dp呢

      2018-11-20
      回复
    • 乔一
      乔一
      2018-11-20回复法隆

      creator下数据单位不对,例如 我读到的右上角 的top是 8 ,此时 设置 creator的UI元素也是对齐 8~。发现是对不齐的。测试数据中 经过 rpx--px--dp,位置完美对齐。

      2018-11-20
      回复
  • 卢霄霄
    卢霄霄
    2018-11-20

    直接用750除以innerWidth不行吗?

    2018-11-20
    有用
    回复 3
    • 乔一
      乔一
      2018-11-20

      那时官方推的傻瓜式计算。iphone系列正常,到x跟ipad 就知道不行了,还是得那样处理。另外,IOS 都阔以,但是Android不行~~

      2018-11-20
      回复
    • 卢霄霄
      卢霄霄
      2018-11-20回复乔一

      安卓不行?有例子或者代码片段吗?

      2018-11-20
      回复
    • 乔一
      乔一
      2018-11-20回复卢霄霄

      有的,但是是Creator工程。,代码片段也是如上, 读取 右上角的top数据,然后 * K 给到creator的对齐组件。

      2018-11-20
      回复
登录 后发表内容