微信小程序仿写豆瓣评分我的页面

搭建豆瓣评分我的页面,先在pages文件夹下创建pages,得到4个文件,在这4文件中来实现界面的搭建;
原文链接

1.头部header模块的搭建

头部模块的搭建比较简单,主要是一个背景图片和一个居中的按钮;

  • 按钮的阴影效果: box-shdow

  • 图片的填充: image

    • aspectFill: 保持长宽比, 拉伸到最长的边填充完全 (拉伸以后会居中显示图片)
    • aspectFit: 保持长宽比, 拉伸到最短的边填充完全

2. 中间items模块的搭建

中间item模块分为两大部分:我的书影音-分析items

  • 我的书影音: 分为两个view;使用flex布局;
  • 分析items: 分为4个view: image-观影分析-描述-立即开启

2.1 profile.wxml中的代码:

<view class="container"><view class="login-wrapper"><view class="login">登录</view><image src="/assets/imgs/bg_mine_login.png" mode="aspectFill" />   </view><view class="item-wrapper"><view class="top-item"><view class="my-source">我的书影音</view><view class="login-see"><view class="login-see-title"> 登录查看</view><view class="arrow"></view></view>       </view>  <view class="items"><view wx:for="{{ items }}" class="item" wx:key="unique"><view class="info"><image src="{{ item.imageUrl }}" /><view class="left-item"><view class="left-title">{{ item.leftTitle }}</view><view class="had"><view class="count">{{ item.count }}</view><view class="des">{{ item.seeTitle }}</view></view></view><text class="center-item">{{ item.centerDes }}</text><view class="right-item"><view class="start">立即开启</view><view class="arrow"></view></view>  </view><view class="devider"></view>  </view></view></view><view class="version">版本1.0.39</view>
</view>

列表循环: 微信列表循环解释 for循环创建列表ListView;

代码实现步骤可以先写profile.wxss文件,先将view控件及层级搭建出来,然后布局实现profile.wxss文件,最后对数据处理,实现profile.js中的数据,点击事件等的处理;

2.3 profile.wxss

/* pages/profile/profile.wxss */.login-wrapper {width: 100%;height: 400rpx;/* background-color: chartreuse; */display: flex;justify-content: center;align-items: center;position: relative;     /*使得子元素相对于它布局*/}.login-wrapper image{position: absolute;    /*子绝父相: 子元素是绝对布局,父元素是相对布局, 所以子元素的相对布局就是相对于父元素来说*/left: 0;top: 0;width: 100%;height: 100%;    z-index: -1;
}.login-wrapper .login {color: #1E4826;background-color: #fff;border-radius: 40rpx;font-size: 50rpx;height: 80rpx;width: 200rpx;line-height: 80rpx;text-align: center;font-size: 30rpx;box-shadow: 2rpx 2rpx 10rpx 0 rgba(0, 0, 0, 1);
}.version{position: absolute;bottom: 20rpx;width: 100%;text-align: center;font-size: 24rpx;color: #c9c9c9;
}.item-wrapper .top-item {display: flex;justify-content:space-between ;margin: 30rpx 30rpx;
}.item-wrapper .top-item .login-see{display: flex;}.item-wrapper .arrow{border: 4rpx solid  #7F7F7F;height: 18rpx;width: 18rpx;border-left: none;border-top: none;transform: rotate(-45deg);margin-left: 15rpx;
}.top-item .my-source{font-size: 36rpx;font-weight: bold;
}.top-item .login-see-title{font-size: 28rpx;color: #8B8B8B;
}.top-item .login-see{display: flex;align-items: center;
}.item-wrapper .items image{height: 80rpx;width: 80rpx;
}.item-wrapper .items .item{margin-right: 30rpx;margin-left: 30rpx;margin-bottom: 25rpx;display: flex;justify-content: space-between;align-items: center;
}.item-wrapper .items .left-item .had{display: flex;margin-top: 15rpx;font-size: 28rpx;color: #808080;align-items:center;
}.items .left-item .had .count{margin-right: 10rpx;font-size: 50rpx;color: #808080;
}.item-wrapper .items .center-item{text-align: center;line-height: 100%;font-size: 28rpx;color:  #C1C1C1;
}.item-wrapper .items .right-item{display: flex;align-items: center;
}.items .right-item .start{color: #4A4A4A;background-color: #F5F5F5;padding: 10rpx 15rpx;border-radius: 10rpx;font-size: 28rpx;
}.items .item .line{width: 100%;height: 2rpx;background-color: rgba(0, 0, 0, 1);margin-top: 15rpx;
}.items .item{display: flex;flex-direction: column;
}.items .info{display: flex;width: 100%;align-items: center;justify-content: space-between;}.item .devider{width: 100%;height: 2rpx;background-color: rgba(0, 0, 0, 0.1);margin-top: 15rpx;
}
  • 子绝父相: 子元素是绝对布局,父元素是相对布局, 所以子元素的相对布局就是相对于父元素来说

  • 使得登录按钮在绿色背景的上方:设置图片z-index为-1(参照立体想x,y,z轴)

  • 底部的version:使用绝对布局,绝对布局是相对于当前页面来说的;

  • 箭头>:

    • 要想使所有的箭头共用一个样式:.item-wrapper .arrow(将箭头的样式放在同一父视图的层级下)
    • 箭头的普通用法是使用图片;另一个用法是创建一个view,给它的border一个颜色,然后旋转45°

    border: 4rpx solid #7F7F7F;
    height: 18rpx;
    width: 18rpx;
    border-left: none;
    border-top: none;
    transform: rotate(-45deg);
    margin-left: 15rpx;

  • 立即开启按钮的背景边框延伸:padding: 左右 上下

2.1 profile.js


// pages/profile/profile.js
Page({data:{items :[{imageUrl:'/assets/imgs/ic_cat_movie.png',leftTitle:'观影分析',count: 0,seeTitle:'看过',centerDes:'标记10部影片\n开启观影分析'},{imageUrl:'/assets/imgs/ic_cat_book.png',leftTitle:'读书分析',count: 0,seeTitle:'读过',centerDes:'标记10本书籍\n开启读书分析'},{imageUrl:'/assets/imgs/ic_cat_music.png',leftTitle:'音乐分析',count: 0,seeTitle:'听过',centerDes:'标记10首音乐\n开启音乐分析'}]
},
})

数据绑定: 微信官方数据绑定解释

  • 数据必须放在Page中的data中,对应的是数组或者字典map
  • 使用的时候用{{}}包装起来,代表的是data中的数据

最终实现效果:

微信小程序仿写豆瓣评分我的页面相关推荐

  1. 微信小程序1:豆瓣评分(超详细版)

    项目展示:                                   首先,自定义组件searchbar.stars,以及search组件 记小本本哦: (1)自定义组件:searchbar ...

  2. 微信小程序仿网易云音乐(使用云开发,提供源码)

    微信小程序仿网易云音乐(使用云开发,提供源码)!!!!!!!!!!! 源码: 链接:https://pan.baidu.com/s/1z_ZnRVbT4vjEENimi8yBQQ 提取码:u0o3 一 ...

  3. 微信小程序仿淘票票之登录注册讲解

    微信小程序仿淘票票之登录注册讲解(这也是我学习的第一步嘛) 前言 一.登录以及注册的业务逻辑 二.核心代码 1.register代码 2.login代码 总结 前言 愉快的期末,终于结束了,我准备把程 ...

  4. 微信小程序仿朋友圈上传图片到服务器,后端通过C#实现

    现在微信小程序拍照上传的需求越来越多了,绝大部分小程序项目都会用到,虽然技术上没什么难度,但对于初学者来说,也是件费时费力的事情,三年前我在写这些代码的时候也是花费好几天的时间,最近有点空闲时间,于是 ...

  5. 微信小程序仿系统自带下拉刷新效果

    微信小程序仿系统自带下拉刷新效果 前言 思路分析 实现 尾巴 前言 看到标题也许有人会说:系统不是已经自带了下拉刷新,你去仿照系统的下拉刷新是不是吃多了没事干?其实真相并不是这样的.在微信小程序手把手 ...

  6. 分享下自己写的一个微信小程序请求远程数据加载到页面的代码

    分享下自己写的一个微信小程序请求远程数据加载到页面的代码 1  思路整理 就是页面加载完毕的时候  请求远程接口,然后把数据赋值给页面的变量 ,然后列表循环 2 js相关代码  我是改的 onload ...

  7. 微信小程序仿微信SlideView组件slide-view

    微信小程序仿微信SlideView组件. 使用 1.安装 slide-view 从小程序基础库版本 2.2.1 或以上.及开发者工具 1.02.1808300 或以上开始,小程序支持使用 npm 安装 ...

  8. Java微信运动步数排序设计_微信小程序仿微信运动步数排行(交互)

    本文介绍了微信小程序仿微信运动步数排行(交互),分享给大家,也给自己留个笔记,废话不多说了,具体如下: 效果图如下: wxml: {{item.name}} {{item.steps}} wxss: ...

  9. android微信运动页面开发,微信小程序仿微信运动步数排行(交互)

    微信小程序仿微信运动步数排行(交互) 发布时间:2020-08-20 00:51:02 来源:脚本之家 阅读:101 作者:祈澈姑娘 本文介绍了微信小程序仿微信运动步数排行(交互),分享给大家,也给自 ...

最新文章

  1. Hyper-V 怎样拷贝文件至虚拟硬盘并附加到虚拟机上
  2. markdown转word
  3. BugKuCTF 杂项 隐写
  4. 【问题记录】进行mybatis实例查询测试时Error opening session. Cause: java.lang.NullPointerException
  5. 美团在Redis上踩过的一些坑-4.redis内存使用优化
  6. freemaker模板引擎使用详解
  7. mysql事务和锁InnoDB(转)
  8. python基础-super
  9. C++表白代码---一颗心
  10. scala yield入门详解
  11. 在线教育工具—白板系统的迭代1——bug监控排查
  12. 什么是串行端口?分哪几种类?-道合顺大数据Infinigo
  13. 电影天堂二级页面抓取案例
  14. 箱形图在实际数据分析中的应用
  15. 25G/100G网卡选购指南
  16. 对传统优化算法的一些总结(上)
  17. 广州橙色优学:Java为什么这么火?Java好学吗?
  18. 网络营销存在的安全问题
  19. 数据库中主键、主码、主属性、关键字、候选关键字、码的区别
  20. 机动车排放微观控制-汽油机内净化技术

热门文章

  1. 目标检测SSD算法笔记
  2. 一匿名黑客组织拿下近20%黑市网站:仅用21个步骤实现
  3. 老干妈已经out了 外国人最喜欢的国货又双叒叕更新了
  4. java 微信群发多图文_能使用Java,在 微信公众号中实现同时给多个用户发送同一个图文消息吗?xml中的fromusername应该怎么填?...
  5. 小学生学c语言基础知识,小学数学1-6年级基础知识整理,孩子学习用得上
  6. 长沙理工计算机竞赛黑马,2018年传智播客首届“黑马杯”高校编程大赛圆满落幕...
  7. android手机与苹果手机,苹果手机和安卓手机,速度大比拼,速度快有原因
  8. 6-4 多线程编程:使用多线程同步与通信,模拟实现售票系统的售票和退票过程。 (20 分)
  9. python实现FSC
  10. Python爬虫采集搞笑段子示例