收藏
回答

求问一下如何获取屏幕中心点的坐标?

我使用getSystemInfo获取到屏幕的宽高等数据,但是用二分之一屏幕的宽高获得的点并不是屏幕中心,请问这个到底应该怎么算哦.


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

2 个回答

  •  
     
    2020-05-13

    二分之一位置就是中心,可能是在使用 top 时你忘记 计算元素本身大小了,

    比如 有一个 正方形是 100*100 ,而屏幕大小是 200*300,现在需要将正方形完全居中在屏幕上

    通过屏幕大小得到中心点为 x:100,y:150, 但是你直接设置 top: 150, left: 100是不对的,因为 这样是将你 正方形的 左上角的点 放在中心,你的正方形并没有在中心,

    正确的做法是 再计算一次 正方形的中心,得到 x:50,y:50

    然后 top 的位置减去 正方形中心 150 - 50 = 100

    left 的位置减去 正方形中心 100 - 50 得到 50

    最后将 top 设置为 100,left 为 50 就是正中心了

    2020-05-13
    有用
    回复 3
    • So魚丸丷
      So魚丸丷
      2020-05-13
      我元素本身大小并不大,可以忽略不计.现在的情况是差的很离谱,并不是说差一点点.
      2020-05-13
      回复
    •  
       
      2020-05-13回复So魚丸丷
      可以麻烦提供下代码片段吗
      2020-05-13
      回复
    • So魚丸丷
      So魚丸丷
      2020-05-13回复 
      emmmmmm这个不太好弄,我空了弄一个吧,现在我仿佛找到算法了.
      2020-05-13
      回复
  • 金柯
    金柯
    2020-05-13

    需要实现什么需求?

    2020-05-13
    有用
    回复 2
    • So魚丸丷
      So魚丸丷
      2020-05-13
      将moveable-view中某一点定为中心移动到屏幕中心点.
      2020-05-13
      回复
    • So魚丸丷
      So魚丸丷
      2020-05-13
      由于moveable-vie不支持修改transform样式,所以只能通过设置top和left来实现了.这样就需要屏幕中心点的值去做算法.
      2020-05-13
      回复
登录 后发表内容
问题标签