[轉載]uniapp換膚實現原生導航欄、tabbar和頁面全部替換

通過全局緩存參數設置當前主題:


  • 換膚代碼如下
  • setSkinme(theme) {uni.setStorageSync("theme", theme)uni.showModal({title: "系統提醒",content: '切換成功,是否重啟生效?',confirmText: "是",cancelText: "否",success: res => {console.log(res.confirm)if (res.confirm) {plus.runtime.restart();}}})},

    在main.js中全局混入主題相關函數

  • ?import themeUtil from './common/ThemeUtil.js'Vue.mixin(themeUtil)

  • ThemeUtil內容如下

  • const styles = require('./theme-define.json') const themeClass=uni.getStorageSync("theme") || 'theme-light' //默認是亮主題const getThemeStyles = function() {return styles[themeClass]?styles[themeClass]:styles['theme-light']}const themeStyle = getThemeStyles()const setThemetheme-dark": {"navigationBarStyle": {"frontColor":"#ffffff","backgroundColor":"#272D3B","animation": {"duration": 0,"timingFunc": "easeIn"}},"tabBarStyle": {"color": " #797D86","selectedColor": "#0c78e4","backgroundColor": "#272D3B","borderStyle": "#151b29"},"COLORS": {"background": "#363D50","front": "#ffffff","border": "#272d3b","light": "#8799a3","activated": "#11FF11","ucharBg":"#363D50"}},"theme-light": {"navigationBarStyle": {"frontColor": "#ffffff","backgroundColor": "#116bc5","animation": {"duration": 0,"timingFunc": "easeIn"}},"tabBarStyle": {"color": "#363d50","selectedColor": "#0c78e4","backgroundColor": "#f1f1f1","borderStyle": "#151b29"},"COLORS": {"background": "#FFFFFF","front": "#666666","border": "#f1f1f1","light": "#666666","activated": "#FF1111","ucharBg":"#116bc5"}}}

    定義全局css的主題相關類,用scss實現可以更好的劃分層級

  • .theme-dark {background-color:#272d3b;.bgSelected{background-color: #d94365;}.textSelected{color: #ffffff;}.bgNormal{background-color:#272d3b;}.textNormal{color: #88abda;}.pageBg{background-color: #272d3b;}.compenBg{background-color: #363D50;}}.theme-light {background-color:#ffffff; .bgSelected{background-color: #d94365;}.textSelected{color: #ffffff;}.bgNormal{background-color:#cdcdcd;}.textNormal{color: #ffffff;}.pageBg{background-color: #ffffff;}.compenBg{background-color: #f1f1f1;}}

    在頁面組件中使用主題樣式

  • 根節點綁定css類


  • 子組件中應用主題樣式子組件中在綁定樣式中使用主題顏色子組件中在綁定樣式中使用

  • ?

    子組件中在綁定樣式中使用主題顏色


  • nvue使用注意

    • 在nvue中需單獨混入ThemeUtil
  • 另外注意導航欄的frontColor只能是#FFFFFF和#000000


聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 国产精品极品美女自在线| 日日夜夜精品视频| 国产成人无码一区二区三区| 午夜视频高清在线aaa| 一区二区三区在线播放| 看国产一级毛片| 国产麻豆综合视频在线观看| 亚洲人成图片小说网站| 陈冰的视频ivk| 少妇无码太爽了不卡视频在线看| 人人妻人人做人人爽| 1024在线播放| 日本成人免费在线观看| 免费看黄的网页| 2022男人天堂| 日本久久中文字幕| 免费人成视网站在线观看不卡 | 草莓视频污在线观看| 宝贝过来趴好张开腿让我看看| 国产av熟女一区二区三区| j8又粗又大又长又爽又硬男男| 欧美国产综合视频| 国产亚洲综合一区二区在线| www成人国产在线观看网站| 欧美日韩精品一区二区三区不卡| 国产小视频福利| 一个人看的免费观看日本视频www| 欧美日韩在线播放| 国产一级淫片a视频免费观看| bt在线www天堂资源网| 最近中字视频在线观看| 再深点灬舒服灬太大了岳| 两个人看的www免费| 成人精品一区二区久久| 亚洲宅男天堂a在线| 色宅男午夜电影在线观看| 在线播放国产视频| 久久精品国产99国产精品澳门| 精品久久中文字幕有码| 国产热の有码热の无码视频| 一区二区三区在线看|