700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > swiper高度自适应_小程序自定义导航自适应高度

swiper高度自适应_小程序自定义导航自适应高度

时间:2019-03-06 15:06:53

相关推荐

swiper高度自适应_小程序自定义导航自适应高度

小程序导航条自定义,高度自适应iphoneX等刘海手机和其他手机,开启导航自定义需要在app.json文件里将window的 navigationStyle属性设置为: custom,开启导航自定义可以丰富其样式,下面是代码~

//该文件是app.json,开启后默认就没有导航了 "window": { "navigationStyle": "custom" }

没有导航只有我们我要新建一个,我们把它作为组件,这样小程序的其他页面就都可以引入了,新建一个 Title 的组件,但是这个组件的高度我们要根据不同的手机去适配,如果是iphoneX,一般刘海手机是88px,其他是64px,但没有标准,主要还是看手机型号,微信提供一个可以获取的导航条加状态栏高度的接口 wx.getSystemInfo

//在app.js 的onLaunch 方法里面 wx.getSystemInfo({ success:e=>{ this.globalData.statusBar = e.statusBarHeight; let custom = wx.getMenuButtonBoundingClientRect(); this.globalData.custom=custom; this.globalData.customBar=custom.bottom+custom.top-e.statusBarHeight; } })//e.statusBarHeight 这是状态栏高度,一般手机为 20px ,iphoneX 为44px,我们就是根据这个来设置导航的高度//在Title的组件中const app = getApp()Component({ /** * 组件的初始数据 */ data: { full:false, statusBar:app.globalData.statusBar, customBar:app.globalData.customBar }})

组件的 wxml 文件

我是标题

组件的css文件

/*这是组件的样式*/.title{ width:100%; box-sizing: border-box; background: #fff; position:fixed; top:0; left:0; z-index: 9999;}.con{ width:100%; display: flex; position:relative;}.title .left{ position:absolute; left:0; top:0; width:70rpx; height:100%; display:flex; justify-content: center; align-items: center;}.title .left image{ width:50rpx; height:50rpx;}.title .right{ flex:0 0 calc(100% - 140rpx); width:calc(100% - 140rpx); margin:0 auto; color:#000; font-weight:bold; display: flex; align-items: center; justify-content: center; padding-right:calc(100%-140rpx); font-size:38rpx; letter-spacing: 2rpx; pointer-events: none; text-overflow: ellipsis; white-space:normal; overflow:hidden;}

其他手机的效果图

iphoneX手机效果图

我们把这个组件强化一下,让他可以进行组件传值

组件的js文件

//把这个放在组件的 properties的字段里面 properties: { title:{ type:String //这个是标题 }, isBack:{ //这个是 是否显示返回按钮,如果不传值就默认显示 type:Boolean, value:true }},

组件的 wxml 文件

{{title}}

调用方式

先在调用的页面声明该组件

组件的json文件

{ "usingComponents": { "Title": "../../components/Title/Title

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。