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

仿抖音发布按住拍呼吸效果

抖音——时下最火的app之一,发布过程中有个按住拍的呼吸效果效果如下所示: ?...上面两个按钮,都是采用属性动画进行控制的,但实现细节稍有不同,左上采用的是StateListAnimator,只需要考虑跟随手指动就可以了;右下是onTouch里面控制动画开启or关闭。...demo采用了自定义View的方式,重点有几点: 属性动画,定义View不具备的属性——内部半径参数 onTouch(),跟随手指随动 StateListAnimator,按照View不同状态执行不同动画...调用invalidate触发onDraw(),这样属性动画就可以使用innerRadiusFactor属性了。...实际上,BreathView可以做的更精细化些,比如加入一些自定义属性,这样可定制更高些,这里只是为了模仿抖音的效果,因此就没有做的很细致。感兴趣的朋友可以对其做的精细化些。

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

让View跟随状态动起来——StateListAnimator

Android提供的drawable中,其中有一种就是selector,只不过那种是指定的图片,而StateListAnimator指定的动画。 不说废话,先看下效果: ?...使用StateListAnimator StateListAnimator主要就是定义不同状态下的动画,主要有三种方式可以实现: 完全xml定义动画以及设置 xml定义动画+代码设置 代码定义动画以及设置...定义好了动画后,只需xml中使用stateListAnimator进行设置,如下: <ImageView android:clickable="true" android:...,使用了state_pressed状态后,如果这个View默认是不支持点击的,比如自定义View、ImageView等,那么还需要添加clickable=true,不然是没有效果的,切记切记。...总结 StateListAnimator的创建主要有三种方式,而根本还是属性动画的定义,因此属性动画才是关键。

1.7K20

从源码分析 Android Button 点击效果

Android 点击效果 ? 我们平时开发过程中都可能注意到,我们写的默认的 Button 都是有点击效果的,而且大小也有默认规定的,而 TextView 就没有。就想下面的图片一样。 ? ?...这就是我们这里使用的默认 Button 的风格(不知道怎么找的看看我前面关于属性的文章),看到这里 Button 的最小高度,最小宽度都有了,这就解释了为什么默认的 Button 就那么大了。...还有一点,可能会有疑问,那就是 button 下面的阴影效果,其实这里 5.0 后 Material Design 设计风格。... Android 5.0 后加入了新的属性 stateListAnimator 使 button 有了阴影效果。...stateListAnimator 的值设置为 @null 当然还有其他办法比如:你可能观察到了上面的 background 的 shape 最外面是 inset ,这样的效果是,如果你设置了 button

1K20

Android Heroes Reading Notes 5

(3)阴影效果 View增加了Z属性,对应垂直方向上的高度变化,Z由elevation和translationZ两部分组成(Z=elevation+translationZ),它们都是5.X引入的新属性...elevation是静态的成员,translationZ可以代码中用来实现动画效果。...(7)MD动画效果 Ripple效果 水波纹效果有两种:波纹有边界和波纹无边界。前者是指波纹被限制控件的边界,后者指波纹不会限制控件边界中,呈圆形发放出去。...5.X中,可以使用动画来作为视图改变的效果,有两种方式来实现该动画:StateListAnimator和animated-selector。...StateListAnimator是将动画效果(objectAnimator)配置到原来的selector的item中来实现的,看下面的例子: //定义StateListAnimator <?

88510

一文彻底搞清楚 Material Design

实际上 Elevation 并没有变化,而是 Translation Z 属性变化。这是 Android 使用默认的状态列表动画,更改 Z 属性。...Z 属性扩大 View 的显示区域(主要是控件本身大小+阴影),如果它的大小大于或者等于父视图的大小,那么它的阴影效果就无法显示了,view 并不会因为 z 的属性而缩小自身去显示阴影。...Z属性不仅影响着view的阴影效果,还影响着view的绘制顺序,同一个父view内部,Z属性越小,绘制的时机就越早。...不同的海拔高度,阴影的表现效果是不同的。 一般来说海拔越高,阴影越大,越低阴影越小,但是海拔太大会出现阴影消失的现象(一般是超过20dp)。...但是设置最好不需要这样,用 Button 自身的阴影效果就可以了,它的阴影根据 Button 页面中的位置的不同阴影还不同。

2.1K10

是的!Figma也可以用时间轴做超级流畅的动画了

将矩形放置靠近Frame左角的位置,以便在右侧留出一些空间来移动它。 ? 现在转到Motion,然后单击X属性上的“添加关键帧”按钮。 ? 我们的动画将持续500毫秒。...Figma属性面板中,我们定义X等于100,但是在这里图上的却是150。为什么? ? 关键帧面板上X=150 ? 属性面板中X=100 其原因是旋转点,该旋转点由X和Y轴设置为中心。...因此,你可以添加关键帧后,选择适当的时间位置,然后Figma中对其中的图层做任何更改,Motion面板自动记录这种更改。 ?...4.6 预览FPS 您可以设置Figma中实时看到的帧数:24或60。如果动画太慢,可以将其从60更改为24。不用担心,这不会影响导出效果。 ? 4.7 重复 这里有3种效果: 1....转到0ms时间位置,然后Figma中将矩形宽度更改为0。您注意到它将被设置为1。最小值为0.01,但是1足够了。转到Motion,然后1秒内它将通知您1个关键帧已更新。 ?

16.8K34

实战!半小时写一个脑力小游戏

我们还需要添加一个点击效果。 每次元素被点击都会触发 :active伪类,它引发一个 0.2秒的过渡: ? 翻转卡片 要在单击翻转卡片,需要把一个 flip类添加到元素。...为了产生3D翻转效果,还需要将 perspective属性添加到 .memory-game。 这个属性用来设置对象与用户 z轴上的距离。 值越小,透视效果越强。...再把 transition属性的值设置为 transform就可以生成动态效果了: ? 耶!现在我们得到了带有 3D 翻转效果的卡片, 不过为什么卡片的另一面没有出现?...现在,当用户点击第二张牌,代码进入 else块,我们将检查它们是否匹配。为了做到这一点,需要能够识别每一张卡片。 每当我们想要向HTML元素添加额外信息,就可以使用数据属性。...当玩家点击第二张牌,lockBoard将设置为true,条件 if (lockBoard) return;卡被隐藏或匹配之前阻止其他卡片翻转: ?

1.7K20

超详细】Figma组件属性完全指南

使用组件属性,我们可以组件内构建逻辑,为我们提供相同的选项,但变体更少。 为什么使用组件属性使用组件属性的主要原因是它减少了我们需要为每个组件创建的变体数量以涵盖所有可能性。...您可以直接从属性面板中选择整个组件并在其中交换层。 何时使用实例交换属性? 当您想在另一个组件中交换组件使用它。例如,当您有一个按钮,您可以通过属性面板更改按钮内部的图标。 目前,无法交换变体。...文本属性 text 属性允许您从属性面板编辑文本层。您无需单击组件内的文本层即可更改文本。选择组件,您可以直接从属性面板编辑文本。 何时使用文本属性? 设置组件变体,无需单击文本图层即可更改文本。...双击右侧菜单中的组件属性名称。 2. 单击详细信息图标,然后在窗口中更改名称。 更改列表中的变体顺序 当您单击一个实例并想要更改变体,您希望它按字母顺序排列,或者最流行的变体顶部。...属性列表 如果您有一个具有布尔值和另一个属性的组件,请对属性列表进行排序,布尔值位于顶部,然后是其他属性。当您将布尔值切换为关闭,另一个属性消失并且列表移动。

10.4K22

网络故障解疑:找回消失的本地连接(多图)

要检查网卡是否工作正常,你只要依次单击“开始”/“设置”/“控制面板”命令,弹出的控制面板窗口中,双击“系统”图标,弹出的系统属性设置窗口中,打开“硬件”标签页面,再单击其中的“设备管理器”按钮,...检查远程过程调用服务是否启动,你可以在打开的系统服务列表界面中,找到“Remote Procedure Call服务”选项,并用鼠标双击该选项,弹出的服务属性设置界面中,你就能看到它的启动状态了。...检查即插即用服务是否启动,你可以在打开的系统服务列表界面中,找到“Plug and Play”选项,并用鼠标双击该选项,弹出的服务属性设置界面中,你就能看到它的启动状态了。...检查DCOM权限设置是否正确 系统分布式COM的模拟级别权限,如果设置不当的话,也导致网络和拨号连接窗口中的本地连接图标消失,所以要想找回消失的本地连接图标,你还需要按照下面的方法,检查一下系统DCOM...所以检查网上邻居是否隐藏,也是寻找丢失的“本地连接”图标的一个重要方法: 检查网上邻居是否隐藏,你只要在系统桌面中,看看是否有网上邻居图标出现,要是找不到该图标的话,就表明该图标的确已经被消失

2.6K10

桌面窗口管理器占用过高解决办法

配备最新的驱动程序,您可以尝试重新启动您的PC,以查看桌面窗口管理器是否导致高CPU故障从Win10系统中消失。 如果没有,您将着手解决计算机性能方面的CPU问题。...单击 下一步继续性能故障排除。 如果幸运的话,Win10系统告知您具体的性能错误。也许它也可以解决它,在这种情况下,桌面窗口管理器中的高CPU将从您的PC中消失。...除了处理桌面窗口管理器(DWM.exe)Win10系统上的高CPU使用率的有效解决方案之外,一些用户宁愿知道永久禁用它的方法,以便让这个高CPU问题消失。...2.框中键入services.msc,然后单击 确定以运行 服务窗口。 3. 服务中,找到 桌面窗口管理器并右键单击它以打开其 属性。...4.桌面窗口管理器的 属性窗口中, 常规选项卡下的精确启动类型下,选择将其视为 已禁用。 5.重新启动计算机以使其生效。

5.3K20

全面解析Notification

当 setSmallIcon() 与 setLargeIcon() 同时存在, smallIcon 显示largeIcon的右下角;当只设置 setSmallIcon() , smallIcon...Notification.FLAG_ONLY_ALERT_ONCE //发起Notification后,铃声和震动均只执行一次 Notification.FLAG_AUTO_CANCEL //用户单击通知后自动消失...、使用默认(defaults)属性,可以组合多个属性(和方法1中提示效果一样的) 对应属性: Notification.DEFAULT_VIBRATE //添加默认震动提醒 需要 VIBRATE permission...例子: /** * 显示带有呼吸灯效果的通知,但是不知道为什么,自己这里测试没成功 */ private void showNotifyWithLights() { final NotificationCompat.Builder...(DEFAULT_NOTIFICATION_ID, notification); } /** * 设置FLAG_AUTO_CANCEL * 该 flag 表示用户单击通知后自动消失

2.6K30

CorelDRAW软件最新版V24.1.0.360功能介绍

当在 Windows 上使用 VBA 脚本设置轮廓属性,CorelDRAW 按照预期改变轮廓宽度。移动对象缩放和平移的性能和稳定性问题已得到解决。...当使用土耳其语、荷兰语和瑞典语等版本的应用程序时,学习泊坞窗 (Windows) 或学习检查器 (macOS)现在显示英文版学习资源列表。...当您在学习泊坞窗 (Windows) 或学习检查器 (macOS) 的探索选项卡中右键单击 (Windows)或控件单击,将不再显示上下文菜单。...以下情况下,学习泊坞窗 (Windows) 或学习检查器 (macOS)的探索选项卡中的搜索结果将不再消失探索选项卡打开的情况下,更改主题,切换到提示选项卡,然后切换回探索选项卡。...zoneid=49498我们第一次使用CorelDRAW,需要先注册一个Corel账号,后续的登录试用以及激活都需要依托于这个Corel账号。

1.7K20

Excel实战技巧73:使用组合框控件仿数据验证下拉列表

如下图1所示,工作表Sheet1的列A中任意单元格上双击鼠标,将会出现一个窗体控件,单击其右侧的下拉箭头会出现列表,你可以从中选择列表项,所选项将被输入到该控件所在的单元格中,并且输入数据后该控件消失...图1 实现上述效果的代码如下。...定义下拉列表的OnAction属性为EnterInfo过程,这表明当从下拉列表中选择一个列表项将运行EnterInfo过程。 2....3.DropDown对象的TopLeftCell属性返回位于该对象左上角的Range对象的引用,ListIndex属性返回所选项列表中的位置,作为List属性的索引值返回具体的列表项。...4.与使用数据验证不同的是,本文介绍的代码方法更灵活,在你需要选择列表项双击鼠标,要自已输入不在列表项中的数据可直接输入。

2.6K30
领券