微信小程序自定义配置顶部栏(顶部栏搜索框)

配置信息app.json

  "window": {
    "backgroundTextStyle": "light",//非自定义字体位置
    "navigationBarBackgroundColor": "#fff",//非自定义背景颜色
    "navigationBarTitleText": "项目名",//标题
    "navigationBarTextStyle": "white",//右上交三个点和关闭按钮颜色只能配置黑白
    "navigationStyle": "custom"//自定义需要配置的内容
  },

因为要适配各种手机app.js配置

 // 获取顶部栏信息
    wx.getSystemInfo({
      success: res => {
        //导航高度
        this.globalData.navHeight = res.statusBarHeight + 46;
      }, fail(err) {
        console.log(err);
      }
    })

globalData也配置信息

 globalData: {
    userInfo: null,
    navHeight: 0
  }

app.js完整配置dome

App({
  onLaunch: function () {
    // 获取顶部栏信息
    wx.getSystemInfo({
      success: res => {
        //导航高度
        this.globalData.navHeight = res.statusBarHeight + 46;
      }, fail(err) {
        console.log(err);
      }
    })
  },
  globalData: {
    userInfo: null,
    navHeight: 0
  }
})

app.wxss样式

/* 自定义顶部栏高度 */
.nav{
  width: 100%;
  overflow: hidden;
  position: relative;
  top: 0;
  left: 0;
  z-index: 10;
}
.nav-title{
  width: 100%;
  height: 45px;
  line-height: 45px;
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 10;
  font-family:PingFang-SC-Medium;
  font-size:36rpx;
  letter-spacing:2px;
}
.nav .back{
  width: 22px;
  height: 22px;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 10px 15px;
}
.bg-white{
  background-color:#FFCE58;
}
.bg-gray{
  background-color: #f7f7f7;
}
.overflow{
  overflow: auto;
}
.hidden{
  overflow: hidden;
}
.INinputheader{
  width:60%;
  height:30px;
  background:rgba(255,255,255,1);
  border-radius:30px;
  font-size: 14px;
  margin-top:7px;
  position: relative; 
  float: left;
  margin-left:12px;
}
.INsearchicon{
  position: absolute;
  left:12px;
}
.weui-input{
  height: 30px;
  line-height: 30px;
  text-align: left; 
  padding-left: 30px;
  letter-spacing:0px;
}
.INtab{
  text-align: left;
  margin-left: 12px;
  color: #fff;
}

现在配置完开始使用
index.wxml页面引用

<view>
  <!-- 自定义头部 -->
  <view class='nav bg-white' style='height:{{navH}}px'>
    <view class='nav-title'>
      <view class="INinputheader">
        <icon class="INsearchicon" type="search" size="12"/>
        <input class="weui-input" placeholder="搜索学习内容"/>
      </view>
    </view>
  </view>
  <scroll-view class='bg-gray overflow' style='height:calc(100vh - {{navH}}px)' scroll-y >
    <view class='hidden'>
      <!-- 正文 -->
      <view>当前位置信息:</view>
    </view>
  </scroll-view>
</view>

index.js页面引用

const App = getApp();//设立顶部栏高度
Page({
	data:{},
	onLoad: function (options) {
    //自定义头部方法
    this.setData({
      navH: App.globalData.navHeight
    });
  }
})
HBuilderX是一款轻量级但功能强大的前端开发IDE,它支持开发微信小程序。要在微信小程序自定义顶部导航,并添加一个能够实现模糊搜索的搜索框,以及确保胶囊(通常指小程序的返回按钮和标题)兼容适配所有机型,你需要按照以下步骤操作: 1. **自定义导航**: - 在小程序的`app.json`文件中定义页面的`navigationStyle`为`custom`,这样可以自定义顶部导航。 - 在对应的`.wxml`文件中,使用`<view>`标签自定义你的顶部导航布局,可以包含`<search-input>`组件来实现搜索功能。 2. **实现搜索框**: - 在自定义的导航中添加`<search-input>`组件,并设置其`type`属性为`default`,这是微信小程序提供的标准搜索框组件。 - 使用`bindinput`事件监听输入,获取输入框的值,然后执行你的搜索逻辑。 3. **胶囊兼容适配**: - 使用微信小程序的`< navigator >`组件来实现返回功能,它会自动适应不同机型的样式。 - 在`.wxss`文件中,确保`.navigator`类的样式(包括字体大小、间距等)适配所有机型,可以通过媒体查询(media queries)进行不同屏幕尺寸的适配。 以下是一个简单的示例代码: ```html <!-- index.wxml --> <view class="custom-nav-bar"> <view class="search-area"> <search-input type="default" placeholder="搜索内容" bindinput="onSearchInput" /> </view> <navigator url="/pages/home/home" class="back-btn">返回</navigator> </view> ``` ```css /* index.wxss */ .custom-nav-bar { display: flex; align-items: center; } .search-area { flex: 1; } .back-btn { /* 自定义返回按钮样式 */ } ``` ```javascript // index.js Page({ data: { // ... }, onSearchInput: function(e) { // 在这里处理搜索逻辑 let searchText = e.detail.value; // 根据searchText进行模糊搜索 }, // ... }); ``` 确保你对每个组件的使用和样式进行了必要的调整,以满足适配所有机型的要求。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值