微信小程序在近期比較火熱,作者在閑暇之余研究后決定做一個今日頭條的小demo。 首先感謝此作者的接口提供。 首頁的開發(fā)過程。 首先在app.json中配置每個頁面 { "pages":, "window":{ "backgroundTextStyle":"lig ...
微信小程序在近期比較火熱,作者在閑暇之余研究后決定做一個今日頭條的小demo。
首先感謝此作者的接口提供。
首頁的開發(fā)過程。
首先在app.json中配置每個頁面
{
"pages":[
"pages/index/index",
"pages/attention/attention",
"pages/mine/mine",
"pages/video/video"
],
"window":{
"backgroundTextStyle":"light",
"navigationBarBackgroundColor": "#d75b5d",
"navigationBarTitleText": "今日頭條",
"navigationBarTextStyle":"white"
},
"tabBar": {
"color": "#959394",
"selectedColor": "#959394",
"backgroundColor": "#f0f0f0",
"borderStyle": "white",
"list": [{
"pagePath": "pages/index/index",
"iconPath":"imges/tabbar/home_tabbar_22x22_.png",
"selectedIconPath":"imges/tabbar/home_tabbar_press_22x22_@2x.png",
"text": "首頁"
}, {
"pagePath": "pages/video/video",
"iconPath":"imges/tabbar/video_tabbar_22x22_.png",
"selectedIconPath":"imges/tabbar/video_tabbar_press_22x22_@2x.png",
"text": "視頻"
},{
"pagePath": "pages/attention/attention",
"iconPath":"imges/tabbar/newcare_tabbar_night_22x22_.png",
"selectedIconPath":"imges/tabbar/newcare_tabbar_press_22x22_@2x.png",
"text": "關注"
},{
"pagePath": "pages/mine/mine",
"iconPath":"imges/tabbar/mine_tabbar_22x22_.png",
"selectedIconPath":"imges/tabbar/mine_tabbar_press_22x22_@2x.png",
"text": "我的"
}]
}
}
隨后我們創(chuàng)建導航條。
布局:運用盒型布局即可。
思路:由于這個有動畫效果,當時的想法是利用js來控制動畫效果,配合微信的wx.createAnimation(OBJECT)來創(chuàng)建動畫并且實現(xiàn),當我點擊當前的按鈕的時候,用js來控制其大小變化,當我點擊其他按鈕的時候,遍歷所有按鈕然后設當前的按鈕為變大狀態(tài),其他則縮小。但是在實現(xiàn)的時候發(fā)現(xiàn)在數(shù)據(jù)源用的是微信中數(shù)據(jù)綁定的形式渲染的,當前的按鈕變大后其他按鈕都隨之變化,控制較難,所以作者放棄了這種思路
最終思路: 利用css3動畫配合一個Bool值來使當前的視圖發(fā)生變化。
<scroll-view scroll-x="true" scroll-y="false" class="tpscview" scroll-left="-2">
來對導航條進行橫向設置。
.curPage {
animation:myfirst 0.1s;
animation-fill-mode:forwards;
}
@keyframes myfirst
{
to {
font-size: 50rpx;
}
}