首页 > 编程语言 >小程序右上角的小圆圈和三个点的位置获取

小程序右上角的小圆圈和三个点的位置获取

时间:2024-02-05 15:22:32浏览次数:21  
标签:menuPosition width 右上角 systemInfo 小圆圈 height 获取 let top

const systemInfo = wx.getSystemInfoSync()

Page({
  data: {
    statusBarStyle: '',
    navigationBarStyle: '',
    navigationStyle: '',
    menuStyle: ''
  },
  onl oad () {
    this.setData({
      statusBarStyle: this.getStatusBarStyle(),
      navigationBarStyle: this.getNavigationBarStyle(),
      navigationStyle: this.getNavigationStyle(),
      menuStyle: this.getMenuStyle()
    })
  },
  /**
   * 获取胶囊按钮位置,获取的单位是px
   */
  getMenuPosition () {
    let top = 4
    let right = 7
    let width = 87
    let height = 32
    if (systemInfo.platform === 'devtools' && systemInfo.system.indexOf('Android') === -1) {
      top = 6
      right = 10
    }
    else if (systemInfo.platform === 'devtools' && systemInfo.system.indexOf('Android') != -1) {
      top = 8
      right = 10
    }
    else if (systemInfo.system.indexOf('Android') != -1) {
      top = 8
      right = 10
      width = 95
    }
    return {
      top: systemInfo.statusBarHeight + top,
      left: systemInfo.windowWidth - width - right,
      width: width,
      height: height
    }
  },
  /**
   * 获取状态栏样式
   */
  getStatusBarStyle () {
    let statusBarPosition = {
      top: 0,
      left: 0,
      width: systemInfo.windowWidth,
      height: systemInfo.statusBarHeight
    }
    return this.formatStyle(statusBarPosition)
  },
  /**
   * 获取导航栏样式
   */
  getNavigationBarStyle () {
    let menuPosition = this.getMenuPosition()
    let navigationBarPosition = {
      top: systemInfo.statusBarHeight,
      left: 0,
      width: systemInfo.windowWidth,
      height: (menuPosition.top - systemInfo.statusBarHeight) * 2 + menuPosition.height
    }
    return this.formatStyle(navigationBarPosition)
  },
  /**
   * 获取导航样式
   */
  getNavigationStyle () {
    let menuPosition = this.getMenuPosition()
    let padding = systemInfo.windowWidth - menuPosition.left - menuPosition.width
    let navigationPosition = {
      top: menuPosition.top,
      left: padding,
      width: systemInfo.windowWidth - padding * 3 - menuPosition.width,
      height: menuPosition.height
    }
    return this.formatStyle(navigationPosition)
  },
  /**
   * 获取胶囊按钮样式
   */
  getMenuStyle() {
    return this.formatStyle(this.getMenuPosition())
  },
  /**
   * 格式化Style
   */
  formatStyle (position) {
    let styles = []
    for (let key in position) {
      styles.push(`${key}: ${position[key]}px;`)
    }
    return styles.join(' ')
  }
})

 

标签:menuPosition,width,右上角,systemInfo,小圆圈,height,获取,let,top
From: https://www.cnblogs.com/huaan011/p/18008248

相关文章

  • 获取请求ip
    publicstaticStringgetUserIp(HttpServletRequestrequest){if(ObjectUtils.isEmpty(request)){returnnull;}//获取客户端前台IP进行解析StringuserIp=request.getHeader("x-forwarded-for");if(userIp==null||userIp.isEmpty......
  • 联通光猫管理员账户密码获取
    最近,本人家里的管理员帐户密码变成了动态密码。摸索了一番后,总结如下经验:登录普通帐户利用光猫背后的密码登录普通帐户。获取管理员密码登录普通帐户之后,打开backupsettings.conf。前面的IP地址可能根据情况有所改变。之后会下载一个XML格式的文本文件。打开文件后寻找......
  • 美团Token获取教程
    话不多说我们直接开始搞,建议按照教程一步一步操作,防止遗漏步骤导致获取token失败!访问网址:https://passport.meituan.com/useraccount/ilogin?backurl=https://i.meituan.com&risk_app=-1&risk_partner=-1&risk_platform=-1我们通过验证码进行登录美团,最好用电脑,因为我们要F12......
  • 在K8s中,容器内如何获取pod和namespace名?
    在Kubernetes(K8s)中,容器可以通过DownwardAPI来获取Pod和Namespace的信息。以下是两种方法来实现这一点:通过环境变量获取获取Pod名称:在Pod的配置中,可以设置一个环境变量,将Pod的名字注入到容器内:apiVersion:v1kind:Podmetadata:name:my-podspec:containers:......
  • java中如何获取Stream流
    在Java中获取Stream流主要有以下几种方式:通过集合类(Collection)获取:所有的java.util.Collection接口的实现类,包括List,Set,和Queue等,都可以使用.stream()方法来获取一个Stream。例如:List<String>list=Arrays.asList("a","b","c");Stream<String>streamOfList=......
  • 获取数组中元素的所有组合方式
    代码/***获取words成员的所有组合方式*@param{(string|number)[]}words*@return{(string|number)[][]}*/functioncombine(words){constlist=[]words.forEach((word,idx)=>{constrestWords=[...words.slice(0,idx),...words.slice(......
  • 中国移动光猫ZN-M160G获取超密,并修改为桥接
    登录光猫的后台,默认为192.168.1.1,账号和密码使用光猫背面的即可,这个账户的权限低,但是通过修改也能折腾登录成功后访问一下网址http://192.168.1.1/getpage.gch?pid=1002&nextpage=tele_sec_tserver_t.gch然后会看到启用Telnet,我们勾选保存后重启。账号密码也许可以自行修改,我保......
  • 手把手教你搭建属于自己的网站(获取被动收入),无需服务器,使用github托管
    大家好,我是亚洲著名程序员青松,本次教大家如何搭建一个属于自己的网站。下面是我自己搭建的一个网站,是一个网址导航网站。托管在了github上面,目前已经运营了三个月,每天的访问量大约有100ip左右。下图是在51.la上面的统计,这个网站是我在2023年11月份发布的,刚发布的时候流量比较高......
  • MyBatis获取参数值的两种方式
    MyBatis获取参数值的两种方式:${}和#{}${}的本质就是字符串拼接,#{}的本质就是占位符赋值。${}使用字符串拼接的方式拼接sql,若为字符串类型或日期类型的字段进行赋值时,需要手动加单引号;但是#{}使用占位符赋值的方式拼接sql,此时为字符串类型或日期类型的字段进行赋值时,可以自动添......
  • php 获取父级分类id下全部的子级id
    publicstaticfunctiongetCateIds(){//获取商品分类id$where=[['is_disable','=',0],['is_delete','=',0],];$cate=self::field('id,pid,category......