to{transform: rotate(360deg);}
}
/* 播放暂停 */
.player-play>image:first-child{
animation-play-state: running;
}
.player-play>image:last-child{
animation: musicStart 0.2s linear forwards;
}
.player-pause>image:first-child{
animation-play-state: paused;
}
.player-pause>image:last-child{
animation: musicStop 0.2s linear forwards;
}
@keyframes musicStart{
from{transform: rotate(0deg);}
to {transform: rotate(20deg);}
}
@keyframes musicStop{
from{transform: rotate(20deg);}
to {transform: rotate(0deg);}
}
/* 背景 */
.bg{
width: 100vw;height: 100vh;
}
.content{
width: 100vw;height: 100vh;position: fixed;
display: flex;flex-direction: column;align-items:center ;
}
.content-gif{
width: 19vh;height: 18.6vh;margin-bottom: 1.5vh;
}
.content-title{
font-size: 5vh;color: #ff4c91;text-align: center;
margin-bottom: 2.5vh;
}
.content-avatar image{
width: 24vh;height: 24vh; border: 3px solid #ff4c91;
border-radius: 50%;
}
/* 拨打电话*/
.content-info{
width: 45vw;text-align: center;margin-top: 4vh;
display: flex;align-items: center;
}
.content-wedding{flex: 1;}
.content-wedding>image{
width: 5.5vh;height: 5.5vh;margin-left: 20rpx;
}
.content-name{
color: #ff4c91;font-size: 2.7vh;line-height: 4.5vh;
font-weight: bold;position: relative;
}
.content-name>image{
width: 2.6vh;height: 2.6vh;border: 1px solid #ff4c91;
}
3.3 功能逻辑文件(pagese/index/index.js)
Page({
/**
- 页面的初始数据
*/
bgm:null,
music_url:‘http://music.163.com/song/media/outer/url?id=419485661.mp3’,
music_coverImgUrl:‘https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=2727026051,3456690252&fm=15&gp=0.jpg’,
data: {
isPlayingMusic:false,
},
/**
- 生命周期函数–监听页面加载
*/
onLoad: function (options) {
},
/**
- 生命周期函数–监听页面初次渲染完成
*/
onReady: function () {
this.bgm=wx.getBackgroundAudioManager()
// this.bgm.title=‘marry me’
// this.bgm.epname=‘wedding’
// this.bgm.singer=‘singer’
// this.bgm.coverImgUrl=this.music_coverImgUrl
// this.bgm.onCanplay(()=>{
// this.bgm.pause()
// })
// this.bgm.src=this.music_url
},
/**
- 生命周期函数–监听页面显示
*/
onShow: function () {
},
/**
- 生命周期函数–监听页面隐藏
*/
onHide: function () {
},
/**
- 生命周期函数–监听页面卸载
*/
onUnload: function () {
},
/**
- 页面相关事件处理函数–监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
- 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
- 用户点击右上角分享
*/
onShareAppMessage: function () {
},
play:function(e){
if(this.data.isPlayingMusic){
this.bgm.pause()
}else{
this.bgm.play()
}
this.setData({
isPlayingMusic:!this.data.isPlayingMusic
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
![](https://i-blog.csdnimg.cn/blog_migrate/4e4ee05433190a165cee5f30f05c1897.jpeg)
总结
开发是面向对象。我们找工作应该更多是面向面试。哪怕进大厂真的只是去宁螺丝,但你要进去得先学会面试的时候造飞机不是么?
作者13年java转Android开发,在小厂待过,也去过华为,OPPO等,去年四月份进了阿里一直到现在。等大厂待过也面试过很多人。深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。
这里附上上述的技术体系图相关的几十套腾讯、头条、阿里、美团等公司的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。
相信它会给大家带来很多收获:
资料太多,全部展示会影响篇幅,暂时就先列举这些部分截图
当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!
[外链图片转存中…(img-R5543J7V-1711963859999)]
[外链图片转存中…(img-mxK2R4St-1711963859999)]
资料太多,全部展示会影响篇幅,暂时就先列举这些部分截图
当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。