首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【翻译】MotionLayout实现折叠工具(Part 2)

让我们先看下 CoordinatorLayout 版本实现效果,注意图片在工具几乎快要完全折叠之前是不会开始渐变到主色彩动画: ?...现在我们看看 MotionLayout 实现,我们会发现图片渐变在整个过渡动画中是统一稳定。也就是说:随着工具折叠动画开始,图片便立刻发生渐变,一直持续到工具完全到达折叠状态: ?...因此我们得到是一个非常平滑过渡动画工具开始发生折叠一直到工具完全达到折合状态为止。这也很好解释了我们所看到在 MotionLayout 中对动画行为实现。...举个例子,假设我们设置 imageAlpha 开始和结束值分别是 255 和 0 ,然后在 25% 位置添加一个关键帧,设置值为 205 ,在 75% 位置设置另一个关键帧值为 50 。...但是在目前来说,添加 tools:showPaths="true" 这段代码能够让 MotionLayout 计算并显示这三个被过渡动画所影响视图控件轨迹路线:标题文本控件(顶部,中心左侧),工具海滩小排屋图片

1.6K30

Anroid Wear OS 手表应用开发 - UI

导航 WearableNavigationDrawerView 就是用来解决这个问题,我们先看看它效果: 手表顶部向下滑,会出现一个导航,显示当前页面的图标和标题。...操作抽屉 当需要对当前页面进行一些操作时候,但页面里又没有空间再放按钮了怎么办?既然可以顶部下拉出导航,要不在底部上拉出一个操作?...,controller.peekDrawer() 会在底部露出一小部分操作,如果当前页面是一个列表,这一部分会在列表滑动时隐藏,在列表到顶部和底部时显示: 露出部分默认会显示操作第一项图标,可以在布局中添加... 复制代码 通过 layout_gravity 来设置抽屉是在顶部还是底部...确认动画 当处理完某个业务之后,我们通常需要给用户一个处理成功或失败提示,在 Wear OS 上,我们可以用一个 Activity 来展示确认动画

2.4K30
您找到你想要的搜索结果了吗?
是的
没有找到

Android仿网易云音乐播放界面

如图,由上到下主要分为:标题区、唱盘区域、时长显示区域、播放控制区域。 标题 使用ToolBar实现,字体可能需要自定义。...其实这种也很好做,可以使用LayerDrawable加属性动画来实现。  思路如下:   1. 给LayerDrawable设置两个图层,第一图层是前一个背景,第二图层是准备显示背景。   2....先把准备显示背景透明度设为0,因此完全透明,此时只显示前一个背景图。   3. 通过属性动画,动态将第二图层透明度0调整至100,并不断更新控件背景。...唱针状态,笔者用枚举来表示,并且在动画开始、结束时对唱针状态及时更新。那么我们很容易就想到case或者枚举。...唱针动画播放中,唱针处于近端往远端移动 那么我们调用代码时候就这么用: /*播放动画*/ private void playAnimator() { /*唱针处于远端时,直接播放动画*

2.9K60

如何在 Photoshop 中制作 GIF 动画

当你制作 gif 时,你正在创建图层运动。您可以照片、矢量或从头开始制作动画 GIF。在本教程中,我将向您展示如何在 Photoshop 中从头开始创建矢量 GIF。例如,我要制作一个圆形动画。...同样方法可以用来创建任何形状。让我们开始步骤吧!第 1 步:创建一个新文档。选择RGB颜色模式,因为 gif 是供数字使用。您可以根据自己喜好设置大小,但我建议您在图像背景中保留尽可能少空白。...您将看到 Photoshop 为圆圈创建了一个新形状图层。第3步: 复制图层,然后单击眼睛图标隐藏原始图层(椭圆1)。第四步:工具中选择钢笔工具,转到顶部菜单,然后选择减去正面形状。...第6步:转到顶部菜单“窗口” > “时间轴”。时间线动画工作面板应该出现。选择选项“创建动画帧”。单击该按钮,您将看到显示可见图层。步骤7:将时间更改为0.5秒,并选择永远重复选项。...现在您可以为其命名、选择保存位置以及格式等其他设置。第 9 步:点击并保存按钮,恭喜您,您已经创建了一个 gif 动画!如果您想对图像进行动画处理,请查看我们教程。

40030

Android仿网易云音乐播放界面

如图,由上到下主要分为:标题区、唱盘区域、时长显示区域、播放控制区域。 标题 使用ToolBar实现,字体可能需要自定义。...最后通过inPreferredConfig设置解码格式,才正式加载图片,这样有效避免了图片oom。...通过属性动画,动态将第二图层透明度0调整至100,并不断更新控件背景。...唱针状态,笔者用枚举来表示,并且在动画开始、结束时对唱针状态及时更新。那么我们很容易就想到case或者枚举。...- 唱针动画播放中,唱针处于近端往远端移动 那么我们调用代码时候就这么用: /*播放动画*/ private void playAnimator() { /*唱针处于远端时,直接播放动画*/

5.3K100

一个JS效果竟然要研究一天,我是不是不适合做前端?

我先给大家说下这里要实现效果,就是当鼠标移入导航某个栏目时,顶部4px 蓝色滑动条要尾随着鼠标,如丝般顺滑地滑入相应栏目的顶部位置,当鼠标leave时,蓝色滑动条要退回到当前current栏目顶部...刚开始布局是,导航是一个ul,ul下面有八个li,分别是八个栏目。在每个li顶部设置一个border-top: 4px solid #2ea0ff;html结构如下: ?...就比如这个例子,学过jQuery同学都知道,这个效果就是很生硬显示一条顶部边框,然后隐藏,没有动画效果。...这回终于有点样子了,只不过还是每个li都有一个自己滑动条,而领导意思是导航顶部只有一条公用4px蓝色滑动条,鼠标移入时来回切换。...下午又研究了大半天,突然灵光一现,想到了一招,可以在ul外层包一层div,和ul同级新增一个span元素,这个span就是那个公用蓝色滑动条。然后给父元素设置为相对位置,给span设置为绝对位置。

1.4K181

css3 transition实现顶部滚动公告通知

最近需要做一个顶部滚动。内容向上滚动。 ? 像这样 大概原理,是让整个列表margin-top0再不断减小,直到第一条通知完全离开可视范围,将第一条通知插入到列表最后。...示意图 最开始想到方式是设置一个定时器不断减小margin-top,但又想了下有没有使用css方案呢。 于是现在方案是利用transition实现滚动过渡动画。...比如margin-top最开始是0,设置为-20px时候,不是直接一下变到-20px状态,而是有一个上移过度。...所以我们最开始设置margin-top:0,然后设置一个setInterval,间隔一段时间后(这段时间不滚动),再设置margin-top:-20px(每行高度)。...但这个时候就出现一个问题,-20px到0也有会有过渡动画,所以要在设置margin-top:-20px时候同时移除transition属性(可以移除包含transition这个class) 为了减少页面重绘重排

2.9K00

一定要试一试实用PPT技巧

我们在PPT中设置好触发器功能后,点击触发器会触发一个操作,这个操作可以是多媒体音乐、影片或者动画等。那么我们该如何在PPT中设置触发器呢?下面就来给大家分享下这个技巧。   ...然后点击右边菜单自定义动画,选择【添加效果】,选择设定一个自己需要动画效果。   接着我们再插入一个圆角矩形,并添加上文字“动画开关”。   ...设置好圆角矩形后,我们双击前面设定动画效果,在弹出窗口中定位到“计时”选项卡,选择下面的【触发器】。   最后在单击下列对象时启动效果中选择【圆角矩形】,点击【确定】后就完成了触发器设定。...选中第一句诗,把屏幕右侧修改擦除效果处方向改为自顶部,速度改为慢速。   选中第二句诗,把修改擦除处开始改为之后,方向改为自顶部,速度改为慢速。   ...第三句诗、第四句诗等等操作和第二句诗相同,只需要把开始改为之后,方向改为自顶部,速度改为慢速即可。最后我们点击屏幕右侧最下面的播放按钮,诗朗诵动画效果就出来了。

3.2K30

blender 2.8基本使用和使用形态键(Shape key)做帧动画

将左边工具拉宽直至可以看到名字: 选择Insert Faces(快捷键I),然后选择面: 选中立方体顶部: 按住鼠标左键往里面拉(自己感受一下),变成如下形状:...用形态键做帧动画 现在我们做了盒子形状了,接下来使用形态键做一个盒子底部升高动画。...选中top键,点击Modeling进入编辑模式,以与上面相同方式把面拖回盒子顶部。 回到物体模式,左右拖动Top值(0~1)就可看到盒子变化过程。...现在就完成了,把蓝线定位回开始位置,点击播放即可看到动画效果。...物体会跟着鼠标移动,再按X、Y、Z可在指定坐标轴上移动,或者安卓鼠标中键可根据鼠标方向在单一坐标轴上移动,单击鼠标左键停止移动 S:Scale放大缩小物体(按住ctr可以以一定梯度变化) Shift+右键:设置

3.9K10

一个创建产品动画说明视频新手指南

让我们开始吧… 1.Photoshop导出 尝试使一切都是偶数尺寸并将每一部分你想让其动起来放在单独一层。文件夹(folders)内层会导致问题(至少在本教程中是这样)。...您还应确保Frame Rate(帧率)设置为25,并且现在,Resolution (分辨率)设置为Full(如果您计算机开始缓慢,则可以降低)。...每个层时间轴,其中关键帧(动画转换开始或结束点)将被标记在右侧 在这些下方,您将看到一个缩放(小山和一个大山)。尽可能缩小。 ?...然后将其项目窗格拖放到预览窗口(如果您愿意的话)。 ? 我们需要把这个资源设置看起来更可信。它需要更小,所以让我向大家介绍一下比例属性,更重要是显示锚点。...7.文本和预设 我们来添加一些文本----显然是动画文本。 ? 选择顶部工具类型工具,并在我们刚才指出白框中添加一些文本。添加文本工作原理与Photoshop中相同。

2.9K10

Android开发笔记(一百四十四)高仿支付宝头部伸缩动画

Android5.0推出MaterialDesign库包含了处理头部工具多个控件,不但允许自定义顶部导航,而且导航高度是可以伸缩。...这个渐变动画其实可分为两段: 1、导航展开状态向上收缩时,头部各控件要慢慢向背景色过渡,也就是淡入效果; 2、导航向上收缩到一半,顶部工具要换成收缩状态下工具布局,并且随着导航继续向上收缩...如果导航收缩状态向下展开,则此时相应做上述渐变动画取反效果,即: 1、导航收缩状态向下展开时,头部各控件要慢慢向背景色过渡,也就是淡入效果;同时展开导航下部分布局,并且该布局上各控件渐渐变得清晰...; 2、导航向下展开到一半,顶部工具要换成展开状态下工具布局,并且随着导航继续向下展开,新工具各控件也要慢慢变得清晰起来,也就是淡出效果。...反过来,也可以一开始给导航罩上一层不透明视图,此时导航控件是看不见,然后随着距离变化,遮罩变得越来越不透明,导航也会跟着变得越来越清晰了。

1.1K10

Flutter 全栈式——页面框架

Material Design是一种有质感设计风格,还会提供一些默认交互动画。...一个完整Flutter项目是由这个主组件开始。 MaterialApp属性详解 属性 类型 简述 home Widget 主页。...,按钮text等 localeListResolutionCallback LocaleListResolutionCallback 该回调负责在应用启动时以及用户更改设备区域设置时选择应用区域设置...,将整个页面分为如下几个部分 [l0p8slqyns.jpeg] Scaffold属性 属性 类型 简述 appBar PreferredSizeWidget 界面顶部控件,相当于 Android...resizeToAvoidBottomInset bool 页面浮动控件部分自动调整,以避免被弹出键盘所遮盖,默认为true primary bool 是否填充顶部,默认为true drawerDragStartBehavior

2.8K30

【Flutter 专题】75 图解基本 TabBar 标签导航 (一)

和尚今天学习一下常用 TabBar 导航使用方法; 源码分析 const TabBar({ Key key, @required this.tabs,...Widgets this.controller, // 导航控制器 this.physics, // 滑动动画 this.dragStartBehavior...= DragStartBehavior.start, // 处理拖拽开始行为方式 }) 分析源码可得,TabBar 与 TabBarView 是配对使用,其对应 Tab 数量必须相同...;其中 TabBar 中提供了众多相关指示器属性,且 TabBar 与 TabBarView 上下拖拽方式区分设置,互不影响; 案例尝试 TabBar tabs 为顶部标签列表;controller 为标签控制器...;和尚对此理解不够深入,希望更清楚朋友多多交流; dragStartBehavior: DragStartBehavior.down, TabBarView physics 为通用滑动动画,可以设置是否滑动或其他滑动模式

1.4K31

你真的了解View坐标吗?

Android开始,我们就一直在接触View,界面当中到处都是 View,比如我们经常用到TextView,Button,LinearLayout等等,但是我们真的了解View吗?...如果真的清楚了,那你没有必要读这篇博客,如果你还是有一些模糊,建议花上几分钟时间读一下。 为什么要写这一篇博客呢? 因为掌握View坐标很重要,尤其是对于自定义View,学习动画有重大意义。...有人会说直接在xml里面设置 android:height=”” 不就OK了,那我们如果要动态设置height高度呢,怎么办?你可能会想到 setWidth()方法?...但是我们找遍了View所有方法,都没有发现 setWidth()方法,那要怎样动态设置height呢?...,直到ViewRootImpl处理该事件,ViewRootImpl会调用三大流程,measure开始,对于每一个含有标记位view及其子View都会进行测量、布局、绘制,性能较差,源码体现如下:关于

74720

【CSS动效实战(纯CSS与JS动效)】03 精美手风琴侧边完整示例教程 示例1

LOGO 部分编写 有了基本布局后,开始着手编写侧边。...从这个侧边我们可以明显知道,侧边顶部是 logo 区,或者你放其他也行,logo 之下就是对应菜单,那么侧边内容就分为两块,一个上一个下,并且这一上一下结果所属于一个侧边,那么此时肯定需要一个...,我们可以之前演示图看到,我们点击对应菜单可以对其进行选中并且展开其内部选项,那么这个功能需要一个 html 元素实现,那就是 radio ;在其选中一个类型内容后,将会展开对应内部选项,这些选项需要一个...transition 动画,主要是颜色动画和背景色动画,随后给予了一个同样 label hover 样式,设置背景色会有一定变化,并且设置了 color 字体颜色为白色,这样整个 label 就会有颜色改变...> 此时页面将不会超格;接下来设置对应 a 标签 hover 标签,这个标签我们需要有一定动画效果,那么在 a 标签样式中添加过渡动画,并且添加 position: relative,因为接下来添加效果需要脱离文档流制作

2.8K20

微信小程序开发教程第八章:微信小程序分组开发与左滑功能实现

先来看看今天整体思路: 进入分组管理页面-->点击新建分组新建 进入到未分组页面基本操作 进入到已建分组里面底部菜单操作-->名片夹中添加进行操作。 理清完基本流程我们开始开发。...左滑触摸事件开始,当然需使用参数在外面最好先定义一下: bindtouchStart 发生后,会执行 bindtouchmove 事件,在这里我们可以判断是否左右滑动: Var dataId = e.currentTarget.id...我们在 bindtouchstart 时记录到开始点,在 bindtouchmove 记录到触摸结束点,如果 X 轴滑动大于 Y 轴,再如果结束点-开始点小于一个数值(这个数组可以自己设置,鉴于灵敏度...用户已建分组点击进去是点击顶部菜单按钮出现下拉菜单,这里直接使用微信提供组件。...最后点击名片夹中添加进入到以下页面: 整个布局基本还是和首页面差不多,这里不再多讲, 顶部菜单直接多选绑定数据即可。 牵扯到表单类基本全都是 from 表单提交事件。

1.8K40

Axure原型设计丨页面滑动效果

(1)将一条线放到动态面板顶部,(可以将线颜色变为透明)命名为顶部线 (2)同理将另一条线放在动态面板底部,(可以将线颜色变为透明)命名为底部线。...(3)动态面板state1内拖入矩形(我用图片代替)命名为“滑动图片”,动态面板命名为“滑动面板”。 设置交互样式 (1)单击“滑动面板”,设置“右侧工具属性——拖动时”交互。...点击确定,设置完成后交互显示如下: (2)设置“右侧工具属性–拖动结束时”交互。...点击确定,设置完成后交互显示如下: 此时已经设置好case1,此处是滑动页面与顶部交互,让滑动页面在离开顶部范围后能自动滑回顶部。...问题:为什么要设置动画线性移动200毫秒? 答案:为了让页面在滑动后返回效果更加柔和,移动时间可以根据需要调节哦。

1.9K00

【今天吃什么】uniApp和微信小程序同款炫酷摇一摇来告诉你!

某些配置文件内容,会uniapp和微信小程序两个维度去进行说明,方便不同框架程序员来开发使用。 先来展示一下看看叭 自定义顶部 微信小程序是自带一个顶部标题,需要手动配置才会隐藏。...enablePullDownRefresh": false, "navigationStyle": "custom" }} "navigationStyle": "custom"表示自定义当前页面顶部...微信小程序 则是直接在当前页面的json文件中配置 { "navigationStyle": "custom"} 画流星 去掉了微信顶部之后,就可以直接做一个全屏动画效果了,我这里做是流星...,大家也可以在我其他文章中找不同动画效果替换上去。...摇一摇,摇到什么吃什么 进入页面就需要开始监听用户摇动手机动作,所以需要把监听代码放到 onShow 生命周期中。

1.3K20
领券