微信小程序案例1——制作貓眼電影底部標簽導航欄

文章目錄

  • 一、項目步驟
      • 1 新建一個無AppID的movie項目
      • 2將準備好的底部標簽導航圖標拷貝到movie項目下面(將圖標文件夾image放到項目文件夾里)
      • 3 打開App.json配置文件,在pages數組里添加4個頁面路徑:電影“pages/movie/movie”、影院“pages/cinema/cinema”、發現“pages/find/find”、我的“pages/me/me”,保存后會自動生成相應的頁面文件夾;刪除“pages/index/index”“pages/logs/logs”頁面路徑以及對應的文件夾
      • 4 在window數組里配置窗口導航背景顏色為紅色(#D53E37),導航欄文字為電影,字體顏色為白色(white)。
      • 5 在tabBar對象里配置底部標簽導航背景色為灰色(#f5f5f5),文字默認顏色為白色(white),選中時為紅色(#D53E37),在list數組里配置底部標簽導航對應的頁面、導航名稱、默認時圖標、選中時圖標。
  • 二 tabBar導航欄講解
  • 三 頁面配置


一、項目步驟

1 新建一個無AppID的movie項目

2將準備好的底部標簽導航圖標拷貝到movie項目下面(將圖標文件夾image放到項目文件夾里)

image圖

3 打開App.json配置文件,在pages數組里添加4個頁面路徑:電影“pages/movie/movie”、影院“pages/cinema/cinema”、發現“pages/find/find”、我的“pages/me/me”,保存后會自動生成相應的頁面文件夾;刪除“pages/index/index”“pages/logs/logs”頁面路徑以及對應的文件夾

4 在window數組里配置窗口導航背景顏色為紅色(#D53E37),導航欄文字為電影,字體顏色為白色(white)。

backgroundTextStyle(背景文本樣式)有light和dark
navigationBarBackgroundColor:導航欄背景顏色
navigationBarTitleText:導航欄標題文字
navigationBarTextStyle:導航欄文本樣式

5 在tabBar對象里配置底部標簽導航背景色為灰色(#f5f5f5),文字默認顏色為白色(white),選中時為紅色(#D53E37),在list數組里配置底部標簽導航對應的頁面、導航名稱、默認時圖標、選中時圖標。

二 tabBar導航欄講解

tabBar 字段:定義小程序頂部、底部 tab 欄,用以實現頁面之間的快速切換,可以通過 tabBar 配置項指定 tab 欄的表現,以及 tab 切換時顯示的對應頁面。

屬性類型必填默認值描述
colorHexColortab 上的文字默認顏色,僅支持十六進制顏色
selectedColorHexColortab 上的文字選中時的顏色,僅支持十六進制顏色
backgroundColorHexColortab 的背景色,僅支持十六進制顏色
borderStylestringblacktabbar 上邊框的顏色, 僅支持 black / white
listArraytab 的列表,詳見 list 屬性說明,最少 2 個、最多 5 個 tab
positionstringbottomtabBar 的位置,僅支持 bottom / top

其中 list 接受一個數組,只能配置最少 2 個、最多 5 個 tab。tab 按數組的順序排序,每個項都是一個對象,其屬性值如下

屬性類型必填描述
pagePathstring頁面路徑,必須在 pages 中先定義
textstringtab 上按鈕文字
iconPathstring圖片路徑,icon 大小限制為 40kb,建議尺寸為 81px * 81px,不支持網絡圖片。當 position 為 top 時,不顯示 icon。
selectedIconPathstring選中時的圖片路徑,icon 大小限制為 40kb,建議尺寸為 81px * 81px,不支持網絡圖片。當 position 為 top 時,不顯示 icon。

代碼示例app.json

{"pages":["pages/movie/movie","pages/cinema/cinema","pages/find/find","pages/me/me"],"window":{"backgroundTextStyle":"light","navigationBarBackgroundColor": "#D53E37","navigationBarTitleText": "電影","navigationBarTextStyle":"white"},"tabBar": {"selectedColor": "#D53E37","backgroundColor": "#f5f5f5","borderStyle": "white","list": [{"pagePath": "pages/movie/movie","text": "電影","iconPath": "images/bar/movie-0.jpg","selectedIconPath": "images/bar/movie-1.jpg"},{"pagePath": "pages/cinema/cinema","text": "影院","iconPath": "images/bar/cinema-0.jpg","selectedIconPath": "images/bar/cinema-1.jpg"},{"pagePath": "pages/find/find","text": "發現","iconPath": "images/bar/find-0.jpg","selectedIconPath": "images/bar/find-1.jpg"},{"pagePath": "pages/me/me","text": "我的","iconPath": "images/bar/me-0.jpg","selectedIconPath": "images/bar/me-1.jpg"}]}
}

三 頁面配置

小程序的頁面配置,也稱局部配置,每一個小程序頁面也可以使用自己的.json文件來對本頁面的窗口表現進行配置需要注意的是:頁面|配置文件的屬性和 全局配置文件中的 window 屬性幾乎一致,只不過這里不需要額外指定 window 字段,因此如果出現相同的配置項,頁面中配置項 會覆蓋全局配置文件中相同的配置項。

屬性類型默認值描述
navigationBarBackgroundColorHexColor#000000導航欄背景顏色,如 #000000
navigationBarTextStylestringwhite導航欄標題、狀態欄顏色,僅支持 black / white
navigationBarTitleTextstring導航欄標題文字內容
navigationStylestringdefault導航欄樣式,僅支持以下值:default 默認樣式;custom 自定義導航欄,只保留右上角膠囊按鈕。
homeButtonbooleanfalse在非首頁、非頁面棧最底層頁面或非tabbar內頁面中的導航欄展示home鍵
backgroundColorHexColor#ffffff窗口的背景色
backgroundColorContentHexColor#RRGGBBAA頁面容器背景色
backgroundTextStylestringdark下拉 loading 的樣式,僅支持 dark / light
backgroundColorTopstring#ffffff頂部窗口的背景色,僅 iOS 支持
backgroundColorBottomstring#ffffff底部窗口的背景色,僅 iOS 支持
enablePullDownRefreshbooleanfalse是否開啟當前頁面下拉刷新
onReachBottomDistancenumber50頁面上拉觸底事件觸發時距頁面底部距離,單位為px。
pageOrientationstringportrait屏幕旋轉設置,支持 auto / portrait / landscape
disableScrollbooleanfalse設置為 true 則頁面整體不能上下滾動。只在頁面配置中有效,無法在 app.json 中設置
usingComponentsObject頁面自定義組件配置
initialRenderingCachestring頁面初始渲染緩存配置,支持 static / dynamic
stylestringdefault啟用新版的組件樣式
singlePagesinglePage單頁模式相關配置
restartStrategystringhomePage重新啟動策略配置
handleWebviewPreloadstringstatic控制預加載下個頁面的時機。支持 static / manual / auto
visualEffectInBackgroundstring切入系統后臺時,隱藏頁面內容,保護用戶隱私。支持 hidden / none,若對頁面單獨設置則會覆蓋全局的配置
enablePassiveEventObject或boolean事件監聽是否為 passive,若對頁面單獨設置則會覆蓋全局的配置
rendererstring渲染后端
rendererOptionsObject渲染后端選項
componentFrameworkstring組件框架

找到對應模塊的.json文件:不帶window

全局配置app.json

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/68187.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/68187.shtml
英文地址,請注明出處:http://en.pswp.cn/web/68187.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CSS 偽類(Pseudo-classes)的詳細介紹

CSS 偽類詳解與示例 在日常的前端開發中,CSS 偽類可以幫助我們非常精準地選擇元素或其特定狀態,從而達到豐富頁面表現的目的。本文將詳細介紹以下偽類的使用: 表單相關偽類 :checked、:disabled、:enabled、:in-range、:invalid、:optional、…

docker多個容器的相互通信

在同一臺宿主機上運行多個 Docker 容器時,容器之間可以通過以下幾種方式實現通信: 1. 使用 Docker 默認網絡(Bridge 網絡) Docker 默認會為每個容器分配一個 bridge 網絡,容器可以通過 IP 地址或容器名稱互相通信。 …

Elasticsearch 開放推理 API 增加了 Azure AI Studio 支持

作者:來自 Elastic Mark Hoy Elasticsearch 開放推理 API 現已支持 Azure AI Studio。在此博客中了解如何將 Azure AI Studio 功能與 Elasticsearch 結合使用。 作為我們持續致力于為 Microsoft Azure 開發人員提供他們選擇的工具的一部分,我們很高興地宣…

基于Bootstrap + Java + Oracle實現的電商平臺

以下是基于Bootstrap Java Oracle實現的電商平臺開發方案(簡化版): 一、系統架構設計 前端:Bootstrap 5 jQuery 后端:Java Spring Boot 數據庫:Oracle 19c 自動化:Spring Scheduler Oracle…

JUC學習筆記02

文章目錄 JUC筆記2練習題:手寫線程池代碼解釋:AdvancedThreadPool 類:WorkerThread 內部類:AdvancedThreadPoolExample 類: 線程池的思考CPU密集型IO密集型 練習題:手寫自動重試機練習題:手寫定…

【Unity】從父對象中獲取子對象組件的方式

1.GetComponentInChildren 用于獲取對與指定組件或游戲對象的任何子級相同的游戲對象上的組件類型的引用。 該方法在Unity腳本API的聲明格式為: public T GetComponentInChildren(bool includeInactive false) includeInactive參數(可選&#xff09…

Redis性能優化

1.是否使用復雜度過高的命令 首先,第一步,你需要去查看一下 Redis 的慢日志(slowlog)。 Redis 提供了慢日志命令的統計功能,它記錄了有哪些命令在執行時耗時比較久。 查看 Redis 慢日志之前,你需要設置慢…

baigeiRSA

baigeiRSA 打開附件有兩個: 1.import libnumfrom Crypto.Util import numberfrom secret import flag?size 128e 65537p number.getPrime(size)q number.getPrime(size)n p*q?m libnum.s2n(flag)c pow(m, e, n)?print(n %d % n)print(c %d % c)??2.n…

【csp-j學習完C++語法后,如何進階學習C++算法和數據結構?】

在掌握了 CSP - J 的 C 語法基礎后,接下來的進階學習需要系統地掌握各類算法和數據結構知識,并通過大量練習來鞏固和提高應用能力。以下是一份詳細的進階學習規劃: 第一階段:基礎算法學習(1 - 2 個月) 排…

QT中解決使用QCustomplot繪制高速大量數據時頻譜圖卡頓問題

[!!!核心方法!!!] 使用帶參數的replot()函數繪制m_pCustomPlot>replot(QCustomPlot::rpQueuedReplot) 1. replot() 方法 void QCustomPlot::replot(QCustomPlot::RefreshPriority refreshPriority rp…

【AI】卷積神經網絡CNN

不定期更新,建議關注收藏點贊。 目錄 零碎小組件經驗總結早期的CNN 零碎小組件 全連接神經網絡 目前已經被替代。 每個神經元都有參與,但由于數據中的特征點變化大,全連接神經網絡把所有數據特征都學習了,故效果不好。感受野&…

YOLOv11-ultralytics-8.3.67部分代碼閱讀筆記-downloads.py

downloads.py ultralytics\utils\downloads.py 目錄 downloads.py 1.所需的庫和模塊 2.def is_url(url, checkFalse): 3.def delete_dsstore(path, files_to_delete(".DS_Store", "__MACOSX")): 4.def zip_directory(directory, compressTrue, ex…

微信小程序~電器維修系統小程序

博主介紹:?程序猿徐師兄、8年大廠程序員經歷。全網粉絲15w、csdn博客專家、掘金/華為云/阿里云/InfoQ等平臺優質作者、專注于Java技術領域和畢業項目實戰? 🍅文末獲取源碼聯系🍅 👇🏻 精彩專欄推薦訂閱👇…

VDN 微服務架構搭建篇(三)基于 Nacos 的 Spring Cloud Gateway 動態路由管理

VDN 微服務架構搭建篇(三):基于 Nacos 的 Spring Cloud Gateway 動態路由管理 在微服務架構中,網關 是整個系統的入口,負責 流量管理、請求路由、安全控制等關鍵功能。 Spring Cloud Gateway 作為 Spring 生態官方推薦…

LLAMA-Factory安裝教程(解決報錯cannot allocate memory in static TLS block的問題)

步驟一: 下載基礎鏡像 # 配置docker DNS vi /etc/docker/daemon.json # daemon.json文件中 { "insecure-registries": ["https://swr.cn-east-317.qdrgznjszx.com"], "registry-mirrors": ["https://docker.mirrors.ustc.edu.c…

Java高頻面試之SE-18

hello啊,各位觀眾姥爺們!!!本baby今天又來了!哈哈哈哈哈嗝🐶 BIO NIO AIO的區別? 在 Java 網絡編程中,BIO、NIO 和 AIO 是三種不同的 I/O 模型,它們的核心區別在于 阻塞…

藍橋杯刷題DAY3:Horner 法則 前綴和+差分數組 貪心

所謂刷題,最重要的就是細心 📌 題目描述 在 X 進制 中,每一數位的進制不固定。例如: 最低位 采用 2 進制,第二位 采用 10 進制,第三位 采用 8 進制, 則 X 進制數 321 的十進制值為&#xff…

BUU24 [GXYCTF2019]BabyUpload 1

開局上傳文件 上傳muma.php 上傳.htaccess文件也被打回 再次求助互聯網,才發現這提示給的多么明顯,上傳.htaccess文件是檢查文件類型(Contnet-Type),上傳muma.php是檢查后綴里頭有沒有ph ,檢查文件類型那…

RabbitMQ 從入門到精通:從工作模式到集群部署實戰(三)

文章目錄 使用CLI管理RabbitMQrabbitmqctlrabbitmq-queuesrabbitmq-diagnosticsrabbitmq-pluginsrabbitmq-streamsrabbitmq-upgraderabbitmqadmin 使用CLI管理RabbitMQ RabbitMQ CLI 工具需要安裝兼容的 Erlang/OTP版本。 這些工具假定系統區域設置為 UTF-8(例如en…

3.攻防世界 weak_auth

題目描述提示 是一個登錄界面,需要密碼登錄 進入題目頁面如下 弱口令密碼爆破 用1 or 1 #試試 提示用admin登錄 則嘗試 用戶名admin密碼:123456 直接得到flag 常用弱口令密碼(可復制) 用戶名 admin admin-- admin or -- admin…