【一步教学,一步到位】花里胡哨的3D翻页卡片,隔壁产品都馋哭

这篇具有很好参考价值的文章主要介绍了【一步教学,一步到位】花里胡哨的3D翻页卡片,隔壁产品都馋哭。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

with(cardShadowSizeFunc!!) {
inParamMin = 0F
inParamMax = 180F
outParamMax = 50F
outParamMin = 0F
initValue = 10F
}
cardShadowDistanceFunc = CardShadowDistanceFunc()
with(cardShadowDistanceFunc!!) {
inParamMin = 0F
inParamMax = 180F
outParamMax = 50F
outParamMin = 0F
initValue = 10F
}
}
复制代码

2.5.3 阴影变化

为了更好地模拟3D效果,卡片阴影也存在微小的变化

/**

  • 根据旋转角度计算阴影大小、距离
    */
    private fun executeShadowFunc(rotate: Float) {
    cardShadowSizeFunc?.let {
    cardShadowSize = it.execute(rotate)
    }
    cardShadowDistanceFunc?.let {
    cardShadowDistance = it.execute(rotate)
    }
    }
    复制代码

2.5.4 数字图片绘制

数字的绘制就是图片的绘制,需要注意的是中间活动卡片在上翻或下翻转超过90度时,绘制的数字需要改变,涉及到图片的水平镜像翻转,调用matrix.postScale(-1F, 1F)实现。以下翻为例,代码如下:

if (curState == STATE_DOWN_ING) {
//往下翻
if (abs(cardRotateFunc!!.initValue - rotateX) >= 90F) {
//绘制前一个数字
if (curShowNum - 1 >= 0) {
tempBm = Bitmap.createBitmap(numBms[curShowNum - 1], 0, 0, curNumBm.width, curNumBm.height, matrix, false)
} else {
tempBm = Bitmap.createBitmap(numBms[0], 0, 0, curNumBm.width, curNumBm.height, matrix, false)
}
} else {
tempBm = Bitmap.createBitmap(numBms[curShowNum], 0, 0, curNumBm.width, curNumBm.height, matrix, false)
}
}
tempBm?.let {
drawBitmap(it, Rect(0, it.height / 2, it.width, it.height), rectF, mPaint)
}
复制代码

2.6 实现交互

2.6.1 上下翻转

逻辑主要在onTouchEvent方法中,通过中间卡片初始角度和当前的翻转角度判断是上翻还是下翻

/**

  • 手指按下的初始坐标
    */
    private var downX: Float = 0F
    private var downY: Float = 0F
    private var offsetY: Float = 0F
    override fun onTouchEvent(event: MotionEvent?): Boolean {
    when (event?.action) {
    MotionEvent.ACTION_DOWN -> {
    downX = event.x
    downY = event.y
    if (downY >= height / 2) {
    //绘制下方的mid card
    rotateX = 0F
    curState = STATE_UP_ING
    } else {
    rotateX = 180F
    curState = STATE_DOWN_ING
    }
    resetInitValue()
    postInvalidate()
    }
    MotionEvent.ACTION_MOVE -> {
    offsetY = event.y - downY
    executeFunc(offsetY)
    postInvalidate()
    }
    MotionEvent.ACTION_UP -> {
    //判断是上翻还是下翻
    if (rotateX >= 90F) {
    if (abs(cardRotateFunc!!.initValue - rotateX) >= 90F) {
    if (curShowNum + 1 <= 9) {
    startCardUpAnim(curShowNum + 1)
    } else {
    curShowNum = 9
    startCardDownAnim(9)
    }
    } else {
    startCardUpAnim(curShowNum)
    }
    } else {
    if (abs(cardRotateFunc!!.initValue - rotateX) >= 90F) {
    if (curShowNum - 1 >= 0) {
    startCardDownAnim(curShowNum - 1)
    } else {
    curShowNum = 0
    startCardUpAnim(0)
    }
    } else {
    startCardDownAnim(curShowNum)
    }

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
【一步教学,一步到位】花里胡哨的3D翻页卡片,隔壁产品都馋哭,2024年程序员学习,3d,服务器,运维
【一步教学,一步到位】花里胡哨的3D翻页卡片,隔壁产品都馋哭,2024年程序员学习,3d,服务器,运维
【一步教学,一步到位】花里胡哨的3D翻页卡片,隔壁产品都馋哭,2024年程序员学习,3d,服务器,运维
【一步教学,一步到位】花里胡哨的3D翻页卡片,隔壁产品都馋哭,2024年程序员学习,3d,服务器,运维
【一步教学,一步到位】花里胡哨的3D翻页卡片,隔壁产品都馋哭,2024年程序员学习,3d,服务器,运维
【一步教学,一步到位】花里胡哨的3D翻页卡片,隔壁产品都馋哭,2024年程序员学习,3d,服务器,运维
【一步教学,一步到位】花里胡哨的3D翻页卡片,隔壁产品都馋哭,2024年程序员学习,3d,服务器,运维

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
【一步教学,一步到位】花里胡哨的3D翻页卡片,隔壁产品都馋哭,2024年程序员学习,3d,服务器,运维

最后

我见过很多技术leader在面试的时候,遇到处于迷茫期的大龄程序员,比面试官年龄都大。这些人有一些共同特征:可能工作了5、6年,还是每天重复给业务部门写代码,工作内容的重复性比较高,没有什么技术含量的工作。问到这些人的职业规划时,他们也没有太多想法。

其实30岁到40岁是一个人职业发展的黄金阶段,一定要在业务范围内的扩张,技术广度和深度提升上有自己的计划,才有助于在职业发展上有持续的发展路径,而不至于停滞不前。

不断奔跑,你就知道学习的意义所在!

【一步教学,一步到位】花里胡哨的3D翻页卡片,隔壁产品都馋哭,2024年程序员学习,3d,服务器,运维

【一步教学,一步到位】花里胡哨的3D翻页卡片,隔壁产品都馋哭,2024年程序员学习,3d,服务器,运维

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**文章来源地址https://www.toymoban.com/news/detail-850544.html

到了这里,关于【一步教学,一步到位】花里胡哨的3D翻页卡片,隔壁产品都馋哭的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • postman之接口自动化测试一步到位

    postman之接口自动化测试一步到位

    目录 概述 执行顺序 预处理脚本为请求添加动态传参 测试脚本 如何快速生成测试脚本 postman集成到Jenkins 概述 Postman是一个客户端接口测试工具,它不仅可以用在测试当中,还可以用在开发当中,在postman的使用过程中,其实大部分人都在做手工测试,name其实postman还有另外一

    2024年02月03日
    浏览(4)
  • 电商数据分析方案:丰富经验护航,分析一步到位

    电商数据分析方案:丰富经验护航,分析一步到位

    如果做电商数据分析的每一步都从零开始,摸着石头过河,反复测试修改。一通忙活下来,成果没见多少,人力物力成本倒是节节攀升,试问又有多少企业承受得住?如果有一套一步到位的数据分析方案,是不是就能大大地降低风险、缩短周期,提高性价比? 奥威BI电商数据

    2024年02月11日
    浏览(5)
  • 双系统安装ubuntu 22.04 LTS(一步到位)

    双系统安装ubuntu 22.04 LTS(一步到位)

            作为一个拥有两次都是一次成功安装好双系统的经验的人,我觉得我可以借这个文章仔细讲述一下,让大家都可以双系统安装都是一次成功。为什么有着两次安装经验呢,第一次安装完成后由于电脑的内存不太够了,然后重新装了一个固态和机械硬盘,再次安装了

    2024年01月23日
    浏览(10)
  • 【Spring Boot】项目端口号冲突解决方法,一步到位

    【Spring Boot】项目端口号冲突解决方法,一步到位

    启动项目遇到以下问题: Description: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port. Process finished with exit code 1 找到要启动的项目的配置文件 application.properties ,没有的话可以在 resource

    2024年02月02日
    浏览(8)
  • 【1】STM32·HAL库·新建工程模板【一步到位】

    【1】STM32·HAL库·新建工程模板【一步到位】

    目录 一、获取官方固件包 二、新建工程文件夹 1、新建文件夹 2、拷贝/新建工程相关文件 2.1、Drivers文件夹 2.2、Projects文件夹 2.3、User文件夹 三、新建工程框架 1、新建工程 2、保存工程 3、选择主控型号 4、删除文件夹 四、添加文件 1、设置工程名和分组名 2、添加启动文件

    2024年04月25日
    浏览(14)
  • 用OPENCV,C++实现直线卡尺工具原理,一步到位

    用OPENCV,C++实现直线卡尺工具原理,一步到位

    不多逼逼,直接上步骤 Step1:根据给定的卡尺数,计算直线上的间断点,并保留间断点的位置,并返回。 Step2:在间断上生成若干个矩形卡尺工具,与直线垂直: Step3:计算每个卡尺矩形的内部点位集合,存放在二维数组里,如图。从起始点进行遍历,沿着两个方向遍历。

    2024年04月17日
    浏览(10)
  • 一步到位——Node版本管理神器nvm安装教程(2023最新)

    一步到位——Node版本管理神器nvm安装教程(2023最新)

    Node的安装是许多学习前端的小伙伴的必经之路,我们可能会遇到需要切换node版本的情况,卸载node再安装另一个显然不够优雅,因此nvm的出现极大提高我们切换node的效率。 然而,在nvm的安装过程中有很多坑,许多新手非常容易踩雷,那么接下来让我带领你们, 一次到位安装

    2024年02月04日
    浏览(6)
  • ICRA 2023 | 最新激光雷达-相机联合内外参标定,一步到位!

    ICRA 2023 | 最新激光雷达-相机联合内外参标定,一步到位!

    点击下方 卡片 ,关注“ 自动驾驶之心 ”公众号 ADAS巨卷干货,即可获取 今天自动驾驶之心很荣幸邀请到石头,为大家分享ICRA 2023最新的激光雷达-相机的联合标定方法,可同时标定内参和外参。如果您有相关工作需要分享,请在文末联系我们! 点击进入→ 自动驾驶之心【多

    2024年02月12日
    浏览(7)
  • 手机termux免root安装kali:一步到位+图形界面

    手机termux免root安装kali:一步到位+图形界面

    1.工具: 安卓(包括鸿蒙)手机、WiFi、充足的电量、脑子 2.浏览器搜索termux,vnc viewer,下载安装。 3.对抗华为纯净模式需要一些操作,先断网,弹窗提示先不开,等到继续安装的时候连上网,智能检测过后就可以了(termux正常版本可以通过智能监测,失败了就说明安装包是

    2024年02月03日
    浏览(10)
  • 一步到位!快速精通Git工作流及实战技巧详解

    一步到位!快速精通Git工作流及实战技巧详解

    Git是一个分布式版本控制系统。 1.备份 小明负责的模块就要完成了,就在即将release之前的一瞬间,电脑突然蓝屏。硬盘光荣牺牲!几个月来的努力付之东流。 场景二:代码还原 这个项目中需要一个很复杂的功能,老王摸索了一个星期终于有眉目了,可是这被改得面目全非的

    2024年03月15日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包