有参考各路大神的编写,主要参考B站@黑马程序员,这里只是做一个整理
题目部分 (全局配置)
其中红框和黄框为window界面,navigationBar为红框,background为黄框。
在app.json中。以京西商城的app.json为例。一定要记得在每个组件的下面加上逗号
{
//用来标注小程序都有哪些界面 格式为 文件夹/文件夹/文件.wxml
"pages": [
"pages/index/index",
"pages/logs/logs",
"pages/mine/mine",
"pages/cate/cate",
"pages/shopcar/shopcar",
"pages/search/search",
"pages/details/details"
],
//上面的导航页
"window": {
"backgroundTextStyle": "dark",//下拉刷新的颜色
"navigationBarBackgroundColor": "#fff",//导航栏颜色
"navigationBarTitleText": "京西商城",//title内容
"navigationBarTextStyle": "black",//导航字体的颜色
"enablePullDownRefresh": true,//下拉三个字点是否存在
"backgroundColor": "#f3f3f3"//下拉三个点的颜色
},
//底边栏,最少两个,最多五个
"tabBar": {
"position": "bottom",//位置在下面,
"borderStyle": "white",//底边颜色
"color": "c0c0c0",//未选中颜色
"selectedColor": "ff3456",//选中颜色
//底边栏具体内容
"list": [
{
"text": "首页",//名称
"pagePath": "pages/index/index",//跳转页
"iconPath": "/assert/tabs/icon-index-b.png",//icon图标,在顶部时不显示
"selectedIconPath": "/assert/tabs/icon-index-r.png"//选中后的图标
},
{
"text": "分类",
"pagePath": "pages/cate/cate",
"iconPath": "/assert/tabs/icon-cate-off.png",
"selectedIconPath": "/assert/tabs/icon-cate-on.png"
},
{
"text": "购物车",
"pagePath": "pages/shopcar/shopcar",
"iconPath": "/assert/tabs/icon-cart-b.png",
"selectedIconPath": "/assert/tabs/icon-cart-r.png"
},
{
"text": "我的",
"pagePath": "pages/mine/mine",
"iconPath": "/assert/tabs/icon-center-b.png",
"selectedIconPath": "/assert/tabs/icon-center-r.png"
}
]
},
"style": "v2",//控制样式为最新样式为v2
"sitemapLocation": "sitemap.json"
}
设置上拉触底的距离
默认值50px,就是说如过界面到下面不足50px自动加载下面的界面。在app.json中修改window,不用写单位。
"window": {
"onReachBottomDistance": 20
},
需要注意的是,如果需要在别的界面也进行单独的界面设计,可以在别的页面的json部分进行window的设置。以达到每个界面不一样的效果。
组件部分
1. view:div
例子是将三个盒子组装成一行三个的样式。
wxml界面:
<view class="c1">
<view>A</view>
<view>B</view>
<view>C</view>
</view>
wss界面:
.c1 view{
width:33%;//百分比占位,无视手机显示大小
height: 100px;//盒子高
text-align: center;//居中显示
line-height: 100px;//行高
padding: 10px;//内边距
margin: 10px;//外边距
border:1px solid red;//边框线 宽度 实线 红色(本条图中未实现)
}
.c1 view:nth-child(1){ //表示c1的view的第一个,也可以起名字,只是标记的一种方法
background-color: lightgreen;
}
.c1{
display: flex;//横向布局(默认一个盒子一行)
justify-content: space-around;
}
显示界面
2. scroll-view:可滚动的视图区域,滚动列表
注意:纵向滚动要有固定高度,横向滚动要有固定宽度
3. swiper和swiper-item :轮播图
4.text组件:行内组件 rich-text:富文本
长按选中文字
<view class="c2">
<text selectable>wyshesszaishatanshangrewen</text>
</view>//selectable用来长按选中文字
在rich-text中使用nodes可以渲染成html格式(目前还不知道有什么用,,,)
<view>
<rich-text nodes="<h1 style='color:red;'>正处于于</h1>"></rich-text>
</view>
效果:
5.button:按钮
使用open-type可以调用各种功能(如客服、转发获取用户授权。获取用户信息等) 按钮显示设置:
<button>默认颜色按钮</button>
<button type="primary" size="mini">小主色调按钮</button>
<button type="warn" plain>镂空警告按钮</button>
成果展示:
6.image 图片
在标签里使用进行导入图片
mode属性如下图所示:二三会固定image的大小,四五会根据图片大小调整image大小