微信小程序Skyline模式自定义tab组件胶囊与原生胶囊平齐,安卓和ios均自适应

这篇具有很好参考价值的文章主要介绍了微信小程序Skyline模式自定义tab组件胶囊与原生胶囊平齐,安卓和ios均自适应。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

小程序 skyline 选项卡,微信小程序,小程序

进入下面小程序可以体验效果

 小程序 skyline 选项卡,微信小程序,小程序

APP.JS 

// app.js
App({
  onLaunch() {
      ;(async ()=>{
            const systemInfo = wx.getSystemInfoSync()
            this.globalData.system = systemInfo
            const menuInfo = wx.getMenuButtonBoundingClientRect()
            this.globalData.menu = menuInfo
      })()
  },
  
  globalData: {
    system:{},
    menu:{}
  },

})

至于原理的话,解释起来毕竟麻烦,各位可以看源码自己分析。其实很简单,就算计算布局。很多网上公布的布局,都不能正常自适应。在下这个是完美可以的 文章来源地址https://www.toymoban.com/news/detail-842021.html

1、WXML 

<view class="nav-main navview leftview">
    <view class="nav-back-home barview capsule">
        <view class="nav-goback" bindtap="back">
            <image src="data:image/png;base64,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" class="img"></image>
        </view>
        <view class="shu-p">
            <view class="shu"></view>
        </view>
        <view class="nav-home" bindtap="home">
            <image src="data:image/png;base64,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" class="img"></image>
        </view>
    </view>
</view>

2、WXSS

.nav-main{
    width:100%;
    padding-bottom: 16rpx;
    padding-right: 24rpx;
}

.nav-back-home{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    border-radius: 50rpx;
}

.nav-goback,.nav-home{
    align-items: center;
    display: flex;
    height: 100%;
}

.nav-goback .img{
    width: 50rpx;
    height: 50rpx;
    margin-top: -5rpx;
    margin-left: -5rpx;
}

.nav-home .img{
    width: 40rpx;
    height: 40rpx;
}

.capsule{
  border: 1rpx solid #c0c4c5;background: rgba(255, 255, 255,0.65);
}

.shu-p{
    width: 15%;
    height: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 5rpx;
}

.shu{
    border: 0.5rpx solid #cececec7;
    width: 1%;
    height: 100%;
}

.weui-loading {
  font-size: 16px;
  width: 16px;
  height: 16px;
  display: block;
  background: transparent url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='80px' height='80px' viewBox='0 0 80 80' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3Eloading%3C/title%3E%3Cdefs%3E%3ClinearGradient x1='94.0869141%25' y1='0%25' x2='94.0869141%25' y2='90.559082%25' id='linearGradient-1'%3E%3Cstop stop-color='%23606060' stop-opacity='0' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23606060' stop-opacity='0.3' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3ClinearGradient x1='100%25' y1='8.67370605%25' x2='100%25' y2='90.6286621%25' id='linearGradient-2'%3E%3Cstop stop-color='%23606060' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23606060' stop-opacity='0.3' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3C/defs%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' opacity='0.9'%3E%3Cg%3E%3Cpath d='M40,0 C62.09139,0 80,17.90861 80,40 C80,62.09139 62.09139,80 40,80 L40,73 C58.2253967,73 73,58.2253967 73,40 C73,21.7746033 58.2253967,7 40,7 L40,0 Z' fill='url(%23linearGradient-1)'%3E%3C/path%3E%3Cpath d='M40,0 L40,7 C21.7746033,7 7,21.7746033 7,40 C7,58.2253967 21.7746033,73 40,73 L40,80 C17.90861,80 0,62.09139 0,40 C0,17.90861 17.90861,0 40,0 Z' fill='url(%23linearGradient-2)'%3E%3C/path%3E%3Ccircle id='Oval' fill='%23606060' cx='40.5' cy='3.5' r='3.5'%3E%3C/circle%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A") no-repeat;
  background-size: 100%;
  margin-left: 0;
  animation: loading linear infinite 1s;
}

@keyframes loading {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}

 3、JS

const {shared} = wx.worklet
let app = getApp()
Component({
  options: {
    multipleSlots: true // 在组件定义时的选项中启用多slot支持
  },
  /**
   * 组件的属性列表
   */
  properties: {
    back: {
      type: Boolean,
      value: false
    },
    homeButton: {
      type: Boolean,
      value: false,
    },
    searchButton: {
        type: Boolean,
        value: false,
    },
    animated: {
      // 显示隐藏的时候opacity动画效果
      type: Boolean,
      value: true
    },
    show: {
      // 显示隐藏导航,隐藏的时候navigation-bar的高度占位还在
      type: Boolean,
      value: true,
      observer: '_showChange'
    },
    // back为true的时候,返回的页面深度
    delta: {
      type: Number,
      value: 1
    },
  },
  /**
   * 组件的初始数据
   */
  data: {
    displayStyle:''
  },
  lifetimes: {
    created(){
        this.saftPadding = shared(0)
        this.barheight = shared(0)
        this.barWidth = shared(0)
        this.barMarginLeft = shared(0)
    },
    attached() {
        this.applyAnimatedStyle('.navview', () => {
            'worklet'
            return {paddingTop: `${this.saftPadding.value}px` }
        })
        this.applyAnimatedStyle('.barview', () => {
            'worklet'
            return {height: `${this.barheight.value}px` }
        })
        this.applyAnimatedStyle('.barview', () => {
            'worklet'
            return {width: `${this.barWidth.value}px` }
        })
        this.applyAnimatedStyle('.leftview', () => {
            'worklet'
            return {marginLeft: `${this.barMarginLeft.value}px` }
        })
        wx.nextTick(()=>{
            //胶囊顶部位置(安全位置)
            this.saftPadding.value = app.globalData.menu.top
            //胶囊高度
            this.barheight.value = app.globalData.menu.height
            //胶囊宽度
            this.barWidth.value = app.globalData.menu.width
            //胶囊左边距
            this.barMarginLeft.value = app.globalData.system.windowWidth-app.globalData.menu.right
        })
    },
  },
  /**
   * 组件的方法列表
   */
  methods: {
    _showChange(show) {
      const animated = this.data.animated
      let displayStyle = ''
      if (animated) {
        displayStyle = `opacity: ${
          show ? '1' : '0'
        };transition:opacity 0.5s;`
      } else {
        displayStyle = `display: ${show ? '' : 'none'}`
      }
      this.setData({
        displayStyle
      })
    },
    back() {
      const data = this.data
      if (data.delta) {
        wx.navigateBack({
          delta: data.delta
        })
      }
      this.triggerEvent('back', { delta: data.delta }, {})
    }
  },
})

到了这里,关于微信小程序Skyline模式自定义tab组件胶囊与原生胶囊平齐,安卓和ios均自适应的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp微信小程序自定义导航,标题和小胶囊平行

    uniapp有自带的自定义头部导航,但是又是满足不了我们的需求,就需要我们去自定义导航。 首先要把原来的navigationStyle设置为custom,去除自带的头部导航。在pages.json文件里, 创建一个组件,在需要的页面进行引用, 我是在components文件里创建了navBar文件。  下面是navBar的代

    2024年02月03日
    浏览(29)
  • 微信小程序第一节 —— 自定义顶部、底部导航栏以及获取胶囊体位置信息。

    dai ga hou啊!我是 😘😘😘 是江迪呀 。我们在进行微信小程序开发时,常常需要自定义一些东西,比如 自定义顶部导航 、 自定义底部导航 等等。那么知道这些自定义内容的具体位置、以及如何适配不同的机型就变得尤为重要。下面让我以在iPhone机型,来给大家介绍下 微信

    2024年02月02日
    浏览(39)
  • 微信小程序如何实现自定义导航栏、导航栏手机适配(获取导航栏、状态栏高度和胶囊位置)以及踩过的坑

    背景:不用官方默认的导航栏,想用自己自定义的 实现效果: :顶部状态栏、顶部导航栏、顶部状态导航栏、胶囊 原理: 自定义导航栏无非就是求得导航栏高度,并让内容容器垂直方向居中于导航栏高度 1.获取手机系统状态栏高度 2.获取胶囊位置(包括高度) 3.求得

    2024年03月12日
    浏览(47)
  • 微信小程序自定义主题颜色【状态栏tab样式同步更改】

     此功能使用js控制变量 调整颜色值,赋值给css颜色达到切换自定义颜色效果 1.创建公共样式userStyle.js文件,通过定义style1和style2来控制全局颜色改变。 注意:颜色值务必为十六进制,避免API不兼容颜色 2.在index.js中引入userColor并放入data中。 打印userColor     3.index.wxml中将变

    2024年02月03日
    浏览(34)
  • 微信小程序skyline渲染引擎尝鲜

    概述 官方描述 当小程序基于 WebView 环境下时,WebView 的 JS 逻辑、DOM 树创建、CSS 解析、样式计算、Layout、Paint (Composite) 都发生在同一线程,在 WebView 上执行过多的 JS 逻辑可能阻塞渲染,导致界面卡顿。以此为前提,小程序同时考虑了性能与安全,采用了目前称为「双线程模

    2024年02月04日
    浏览(38)
  • 微信小程序新版渲染引擎Skyline的使用详解

    今年年初,在官方文档上看到小程序团队要推出一款性能逼近原生的渲染引擎Skyline,就一直在关注。刚好最近打算做一款新的阅读小程序,作为一名独立开发者,对于性能和用户体验的追求是永无止境的,于是我决定用纯Skyline打造这款小程序。 当然,这个项目里面所用到的

    2024年02月07日
    浏览(32)
  • 微信小程序胶囊位置计算,避开胶囊位置

    进入下面小程序可以体验效果 :   由于小程序在不同的手机上顶部布局会发生变化,不能正确避开胶囊位置,所以通过官方给出的胶囊信息,可以计算出胶囊位置,并避开 图示例: 此处思路是,获取胶囊底部位置,并拉开10个px  计算出来的值一定要用px,不要用rpx! 计算

    2024年02月12日
    浏览(34)
  • uniapp通过custom-tab-bar 自定义tabbar导航栏(主要用于微信小程序)

    这个自定义的tabbar是用于微信小程序方面的 开始: uniapp文档搜索自定义tabbar,并找到这个 第一步: 根目录创建 custom-tab-bar 文件,并在page.json文件里面tabbar设置项中添加 custom 属性,并设置为 true,list数组不要清空,把你得tabbar页面也写上去,他需要和你得自定义得tabbar那个数组对照

    2024年04月09日
    浏览(42)
  • 关于微信小程序新提供的渲染引擎Skyline的理解

    对Skyline的理解 1、背景 小程序一直以来都是采用的AppService和 WebView的双线程模型,基于WebView和原生控件混合渲染的方式,小程序优化扩展了Web的基础能力,保证了再移动端上的良好性能和用户体验。为了进一步优化小程序性能,提供更为接近原生的用户体验,在WebView渲染之

    2024年02月11日
    浏览(26)
  • uview1 的u-tabs组件在微信小程序中会出现横向滚动条

    uview1 的u-tabs组件在微信小程序中会出现横向滚动条,真机才会生效,微信开发者工具没问题 包括官方示例也会 原因:未屏蔽微信小程序的滚动条 解决办法:uview-ui中uview-ui/components/u-tabs/u-tabs.vue文件把h5屏蔽滚动条的条件编译加上  || MP-WEIXIN

    2024年02月05日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包