IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 小程序 自定义导航头部 -> 正文阅读

[移动开发]小程序 自定义导航头部

index

index wxml

<nav?navBG="{{navBG}}"></nav>

<view>home?页面</view>

index? json

?"usingComponents":?{????"nav":"/components/nav/nav"??},

?"navigationStyle":"custom",? // 开启自定义导航头部

??"navigationBarTextStyle":?"white"? // 设置右上角胶囊按钮? 为透明

index js

Page({

? /**

? * 页面的初始数据

? */

? data: {

? ? navBG:''

? },

? /**

? * 生命周期函数--监听页面加载

? */

? onLoad: function (options) {

? ? this.navBG()

? },

? navBG(){

? ? this.setData({

navBG : '' // 必须是base64格式的图片

})

? ? })? },})

组件? ?nav

nav wxml

<view?class="navClass"?style="height:?{{navHight}}px;?padding-top:?{{navTop}}px;?background:?url({{navBG}})center?center/100%?100%?no-repeat;">

??<view?class="search"?

????style="width:?{{searchWidth}}px;height:?{{systemHeight}}px;border-radius:?{{systemHeight}}px;background-color:?#fff;margin-top:?{{searchTop}}px;margin-left:?{{searchLeft}}px;">

????<image?class="searchImg"?src="../../static/image/search.png"></image>

????<view?class="searchList">搜索好货</view>

????</view>

</view>

nav json

??"component":?true,?

nav js

//?components/nav/nav.js

Component({

??/**

???*?组件的属性列表

???*/

??properties:?{

????navBG:{

??????type:String,

??????value:'',

??????observer:function(navlue){

????????this.setData({

??????????navBG?:?navlue

????????})

??????}

????}

??},

??/**

???*?组件的初始数据

???*/

??data:?{

????navLeft:null,

????searchWidth:null,

????searchLeft:null,

????navHight:null,

????navTop:null,

????searchTop:null,

????systemHeight:null,

????navWidth:null,

????navBG:null,

??},

??lifetimes:?{

????//?生命周期函数,可以为函数,或一个在methods段中定义的方法名

????attached:?function?()?{?//?在组件实例进入页面节点树时执行

??????this.nav()

?????},

????moved:?function?()?{?},

????detached:?function?()?{?//?在组件实例被从页面节点树移除时执行

????},?

??},

??pageLifetimes:?{

????//?组件所在页面的生命周期函数

????show:?function?()?{?},

????hide:?function?()?{?},

????resize:?function?()?{?},

??},

??/**

???*?组件的方法列表

???*/

??methods:?{

????nav(){

??????try?{

????????const?res?=?wx.getSystemInfoSync()

????????console.log(res);

????????console.log(res.pixelRatio,'设备像素比')?//?设备像素比

????????console.log(res.windowWidth,'可使用窗口宽度,单位px')?//?可使用窗口宽度,单位px

????????console.log(res.windowHeight,'可使用窗口高度,单位px')?//?可使用窗口高度,单位px

????????console.log(res.screenWidth,'屏幕宽度,单位px');?//?屏幕宽度,单位px

????????console.log(res.screenHeight,'屏幕高度,单位px');?//?屏幕高度,单位px

????????console.log(res.screenHeight?-?res.windowHeight?,?'导航高度');

????????console.log(res.statusBarHeight,?'设备的高度');??????????

????????const?resed??=?wx.getMenuButtonBoundingClientRect()

????????console.log(resed);

????????console.log(resed.height,?'按钮的高度');?//?按钮的高度

????????console.log(resed.width,'按钮的宽度');

????????console.log(resed.left,'离左边的宽度');

????????//?吸顶高度

????????const?navTop?=?res.statusBarHeight

????????//?背景图的高度

????????const?navHight?=?res.statusBarHeight?+?resed.height?+?(resed.top?-?res.statusBarHeight?)*2

????????//??系统按钮离左边的距离

????????const?navLeft?=?resed.left

????????//?搜索框的宽度

????????const?searchWidth?=?resed.left?-?20??//?这里宽度是自己定的

????????//?搜索框里左边的宽度

????????const?searchLeft?=?10??//?这里宽度是自己定的?/?2?

????????//?系统按钮离顶部的距离

????????const?searchTop?=?resed.top?-??res.statusBarHeight

????????//?系统按钮的高度

????????const?systemHeight?=?resed.height

????????//?背景图的宽度

????????const??navWidth?=?res.windowWidth

????????this.setData({

??????????navWidth,

??????????searchTop,

??????????navLeft,

??????????searchWidth,

??????????searchLeft,

??????????navHight,

??????????navTop,

??????????systemHeight

????????})

??????}?catch?(e)?{

????????//?Do?something?when?catch?error

??????}

????},

??}

})

nav wxss? 部分

.navClass{

??box-sizing:?border-box;

??background-color:?#3399ff;

}

.search{

??display:?flex;

??align-items:?center;

??/*?z-index:?2;?*/

}

.searchList{

??margin-left:?20rpx;

}

.searchImg{

??width:?40rpx;

??height:?40rpx;

??margin-left:?20rpx;

}

?

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章           查看所有文章
加:2021-10-28 12:30:08  更:2021-10-28 12:32:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:26:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码