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

如何在XML中淡入/动画矢量的strokeColor和fillColor?

在XML中实现淡入/动画矢量的strokeColor和fillColor可以通过使用属性动画来实现。属性动画是Android中用于实现动画效果的一种机制,可以对任何对象的属性进行动画操作。

要在XML中实现淡入/动画矢量的strokeColor和fillColor,可以按照以下步骤进行操作:

  1. 创建一个XML文件,定义一个属性动画集合(AnimatorSet)。
  2. 在属性动画集合中,定义一个透明度动画(AlphaAnimation)和一个颜色动画(ValueAnimator)。
  3. 在透明度动画中,设置动画的起始透明度和结束透明度,以实现淡入效果。
  4. 在颜色动画中,设置动画的起始颜色和结束颜色,以实现颜色渐变效果。
  5. 将透明度动画和颜色动画添加到属性动画集合中。
  6. 将属性动画集合应用到目标View上。

下面是一个示例的XML代码:

代码语言:txt
复制
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <objectAnimator
        android:propertyName="alpha"
        android:valueFrom="0"
        android:valueTo="1"
        android:duration="1000" />
    <objectAnimator
        android:propertyName="strokeColor"
        android:valueFrom="#000000"
        android:valueTo="#FF0000"
        android:duration="1000" />
    <objectAnimator
        android:propertyName="fillColor"
        android:valueFrom="#000000"
        android:valueTo="#00FF00"
        android:duration="1000" />
</set>

在上面的示例中,我们定义了一个属性动画集合,其中包含了一个透明度动画和两个颜色动画。透明度动画将目标View的透明度从0渐变到1,颜色动画将目标View的strokeColor从黑色渐变到红色,fillColor从黑色渐变到绿色。

要在代码中使用这个属性动画集合,可以按照以下步骤进行操作:

  1. 在Java代码中找到目标View的引用。
  2. 使用AnimationUtils的loadAnimator方法加载XML文件中定义的属性动画集合。
  3. 将加载的属性动画集合应用到目标View上。

下面是一个示例的Java代码:

代码语言:txt
复制
View targetView = findViewById(R.id.target_view);
AnimatorSet animatorSet = (AnimatorSet) AnimatorInflater.loadAnimator(context, R.animator.fade_in_animation);
animatorSet.setTarget(targetView);
animatorSet.start();

在上面的示例中,我们通过findViewById方法找到了目标View的引用,并使用AnimatorInflater的loadAnimator方法加载了XML文件中定义的属性动画集合。然后,我们将加载的属性动画集合应用到目标View上,并启动动画。

这样,就可以在XML中实现淡入/动画矢量的strokeColor和fillColor了。请注意,这只是一个示例,你可以根据实际需求进行修改和扩展。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android开发笔记(一百三十二)矢量图形与矢量动画

,故而采用了不带单位的相对数值,正因为矢量图形中的几何路径以相对坐标来标记,所以不管矢量图形缩放到多少比例,其内部的几何形状也会按同样比例缩放。...Android提供了AnimatedVectorDrawable这么一个矢量动画类,但开发者还得通过属性动画及其xml标签方可实现动画定义。...:trimPathStart和android:trimPathEnd,可实现矢量图形逐步展开或者逐步消失的动画效果。...所以要想让圆圈动画和打勾动画按顺序播放,得分别定义圆圈的矢量图形和打勾的矢量图形,然后等圆圈动画播放完毕,再开始播放打勾动画。...,接着播放打勾动画,这要在代码中控制,具体的是调用AnimatedVectorDrawable对象的registerAnimationCallback方法,一旦监听到原动画播放结束,然后开始播放新动画。

2K20

Android开发笔记(一百四十五)仿应用宝的垃圾清理动画

我们知道矢量动画AnimatedVectorDrawable只能由xml文件定义,以支付成功动画的xml描述文件为例,根节点是animated-vector,下级节点是target,完整的xml文件内容如下所示...旋转角度和填充颜色其实都属于矢量图形的属性,按照属性动画的做法,只要指定这些属性的起始数值和终止数值,即可让系统自动实现动画的渲染过程。...在矢量图形描述中,旋转角度由group节点的rotation参数定义,填充色由path节点的fillColor参数定义,因此接着就要在月牙矢量图形描述中分别定义group节点和path节点。...为节约篇幅,下面只给出了第一个月牙图形的矢量定义,第二个和第三个月牙的矢量定义与之类似,仅在pathData的路径数据上有所区别。...--此处省略第二个和第三个月牙的矢量描述--> 然后依据前面的分析,构造两个属性动画的行为描述,下面是月牙旋转动画的xml描述(改变rotation属性的数值): <objectAnimator

85730
  • Android--vector动画

    上次说了SVG在安卓中的应用,在我们安卓系统中SVG就是Vector Drawable,Vector除了显示SVG图片外,还可以做动画效果,效果如下: 首先我们需要一张vector图片 在xml中为如下...path 元素一共包含如下属性: android:name 定义该 path 的名字,这样在其他地方可以通过名字来引用这个路径 android:pathData 和 SVG 中 d 元素一样的路径信息...android:fillColor 定义填充路径的颜色,如果没有定义则不填充路径 android:strokeColor 定义如何绘制路径边框,如果没有定义则不显示边框 android:...定义矢量图视图的高度,视图就是矢量图 path 路径数据所绘制的虚拟画布 android:tint 定义该 drawable 的 tint 颜色。...animated-vector需要一个drawable,就是我们静态的vector图片,target标签中需要指定一个执行动画的对象name,对应我们之前在静态图片中定义的name,再创建一个动画 ic_check_animation.xml

    1.3K30

    Android 矢量图详解

    VectorDrawble 是在 xml 文件中定义的矢量图形。xml 文件中定义的矢量图形,它是一组带有颜色信息的点、线和曲线,使用矢量图主要的优点是图形可伸缩性。...可以在不损失显示质量的情况下进行缩放,这意味着我们可以在不同的屏幕密度的手机上使用相同的文件。这样会使 APK 文件变小更加有利于开发人员维护。我们还可以通过多个 XML 文件和矢量图结合用于动画。...和 SVG 中 d 元素一样的路径信息 android:fillColor 定义填充路径的颜色,如果没有定义则不填充路径 android...offset说明.png 矢量动画 利用 XML 文件来设置矢量动画 创建一个矢量图 xml version="1.0" encoding="utf-8"?...在 drawble 创建矢量动画 目的就是将我们的矢量图和 objectAnimator 关联起来 xml version="1.0" encoding="utf-8"?

    1.1K30

    读取svg图片为UIBezierPath,开心做动画

    更新 给对本文感兴趣的朋友们推荐个好东西:paintcode 动画预览 ? 先扯淡 最近手痒又想整点动画玩玩,但是想了几个主意发现稍微复杂一点的手写都一定会累爆。这篇文章记录一下今天折腾的一个方案。...说来简单,就是用矢量设计工具舒舒服服的做好设计,然后输出成 svg 格式,再用 NSXMLParser 去读出来,转换成 UIBezierPath ,然后就天高任鸟飞~ 清晰起见,这里不使用各种库,由上面的二维码动画为例...拿到 svg 文件后用文本编辑器打开可以看到其实是一个描述矢量图形的 xml ,而且里面几百个矩形。。。如果你用的生成网站跟我一样,还会有一个白色的背景矩形,待会儿我们会把它排除掉。...: 的标签转换成 CGRect 保存在数组中,并在 parserDidEndDocument...(_:) 中把他们转换为 CAShapeLayer 并添加动画。

    1.6K20

    Android高级动画(2)

    前面的动画都是对控件做动画,而矢量动画是对图形做动画,矢量动画可以做出前面任何一个动画框架都做不到的效果。好了,NB就先不吹了,开始我们的学习吧。...靓仔 矢量图登场 矢量图不同于位图是用像素描述图像的,它是用数学曲线描述图形。所以一张图片就是对应着一系列的数学曲线,所以图片的显示尺寸和图片体积无关。...子节点path就是定义绘制内容的,fillColor是填充颜色,pathData是描绘路径。那么问题来了,pathData中的这一串字母数字是什么东东? SVG 说到这,SVG必须得登场了。...让矢量图形动起来 虽然我们已经可以绘制漂亮的矢量图形了,但是我们这个系列是Android高级动画啊,得动起来,Android中怎样才能让矢量图形动起来呢?...这样就实现了放大镜和横线切换显示的动画啦。 总结 这一篇我们基本讲完了Android中的矢量动画,这块知识点都不难,就是太乱。

    1.7K20

    Power BI 模拟国务院客户端日历

    在国务院客户端看到下图这样的日历风格: 该日历有以下特点: 日期和农历结合 法定假日和周末调班分别用实心圆和空心圆圈起来,且右上角文字标注 Power BI内置矩阵结合SVG矢量图可以轻松制作,以下是模拟结果...: 矩阵的行列值如下设置: 对应的SVG度量值为: SVG.日历卡片 = VAR FillColor = IF ( SELECTEDVALUE ( '日历'[假日安排] ) = "休", "rgb...(143,7,13)", "none" ) VAR StrokeColor = IF ( SELECTEDVALUE ( '日历'[假日安排] ) = "班", "rgb(143,7,13)",...TextColor = IF ( SELECTEDVALUE ( '日历'[假日安排] ) = "休", "white", "rgb(143,7,13)" ) RETURN "data:image/svg+xml...& "' stroke='" & StrokeColor & "'/> <text x='50' y='50' font-size='30' text-anchor='middle' fill

    5500

    iOS动画系列之八:使用CAShapeLayer绘画动态流量图1. CAShapeLayer2. 实战:绘制一个镂空图层动画3. 使用CAShapeLayer绘画动态流量图

    这篇文章通过使用CAShapeLayer和UIBezierPath来画出一个动态显示剩余流量的小动画。...CAShapeLayer 实际中,能够用CALayer完成的任务是比较少的,如果使用这个基础图层就能实现绝大部分的功能,咱们就没有必要再开启一个CAShapeLayer了嘛。...CAShapeLayer是一个通过矢量图形而不是位图来绘制的图层子类。指定诸如颜色和线宽等属性,用path来定义想要绘制的图形,最后CAShapeLayer就自动渲染出来了。...1.2 基本属性 属性名 作用 path 图像的绘制路径,path不支持隐式动画 fillColor 填充path的颜色,或无填充。默认为不透明黑色。 fillRule 填充path的规则。...: 第一段实线长度为5 画完长度为5像素的实线之后,空2像素 空完2像素之后,再画10像素的实线 画完长度为10像素的实线之后,空7像素 然后重复这个数组中的数值,一直不停的绘画。

    1.7K30

    VectorDrawable与AnimatedVectorDrawable

    path 元素一共包含如下属性: android:name 定义该 path 的名字,这样在其他地方可以通过名字来引用这个路径 android:pathData 和 SVG 中 d 元素一样的路径信息。...android:fillColor 定义填充路径的颜色,如果没有定义则不填充路径 android:strokeColor 定义如何绘制路径边框,如果没有定义则不显示边框 android:strokeWidth...你通常在三个XML文件中定义矢量资源的动画载体: 元素的矢量资源,在res/drawable/(文件夹) 元素的矢量资源动画,在res/drawable.../(文件夹) 元素的一个或多个对象动画器,在res/anim/(文件夹) 矢量资源动画能创建和元素属性的动画。...当你想要创建动画时去定义矢量资源,使用android:name属性分配一个唯一的名字给组和路径,这样你可以从你的动画定义中查询到它们。

    96550

    了解 Android 的矢量图片格式:`VectorDrawable`

    例如, Google I/O app 在 这次提交 中通过将一些 PNG 图标从位图转换成矢量图,节约了 482 KB。尽管听上去不是很多,但这仅仅是对小图像而言;更大的图片(如插图)会节省更多。...它是强大、成熟的建模工具,它同时也是一个强大的标准。它包括许多复杂的功能,如执行任意 javascript,模糊和滤镜效果或嵌入其他图像,甚至 GIF 动画。...第二个 视口 大小定义虚拟画布,或者定义所有后续绘制命令的空间坐标。固有和视口尺寸可以不同(但应该以相同的比例)— 如果你需要,可以在 1*1 画布中定义矢量。...android:fillColor="#ff00ff" android:strokeColor="#999" android:strokeWidth="2" android...如果你想要这种行为,则需要将它们放在一个组中。这些变换对静态图像毫无意义,因为静态图像可以直接将它们“烘焙”到它们的路径中 — 但它们对于动画非常有用。

    2.5K30

    Android资源res之矢量图完全指南(加SVG-path命令分析)

    零、前言 第一次接触SVG时,被它的强大折服,下面两个小例子可以看看 SVG 文字sin型曲线动画、SVG绘制星空效果 Android5.0+也支持矢量图VectorDrawable,是变异削弱版的...矢量剑.png 方法1:直接改:fillColor 方法2:使用时:android:tint="@color/red" ---- 2.分组与变换(吾王之剑岂可不正) 用group将path包起来就可以对...线条与填充.png 关于path的知识和填充模式在Android关于Path你所知道的和不知道的一切,讲的很详细,这里就不费神了 ---- 三、矢量动画 动画基本套路如下--简单画一个示意图: ?...矢量动画--路径动画.png ---- 1:路径动画:trimPathEnd ?...路径动画.gif ---- 1.1--矢量图主体:icon_close.xml 记得为path取个名字(随意):android:name="trim_path" <?

    1.6K40

    Android中21种drawable标签大全

    的transition只能管理两层drawable(多余的item无效),提供了两层drawable之间切换的方法,切换时还会有淡入淡出的动画效果。...android:fillColor 填充路径的颜色,在SDK24及以上,可以指定一个颜色状态列表或者一个渐变的颜色。如果在此属性上做渐变动画,新的属性值会覆盖此值。...android:strokeColor 指定路径线条的颜色,在SDK24及以上,可以指定一个颜色状态列表或者一个渐变的颜色。如果在此属性上做渐变动画,新的属性值会覆盖此值。...animated-vector svg矢量动画,需要配合动画xml(anim、animator)使用。...另外经测试,在valueFrom和valueTo中的path格式要一一对应,否则也会crash,也没有日志,我的理解是因为无法计算出动画数据。

    2.5K20

    Android 8.0 自适应图标

    原来 Android 8.0(API 级别 26)引入了自适应启动器图标,可以在不同设备模型中显示各种形状。下面看下官方酷炫动态图: ? ? 图1. 自适应图标支持各种设备之间不同的掩码。...在 Android 7.1(API级别25)及更早版本中,启动器图标大小为 48 x 48 dp。必须使用以下准则来调整图标图层的大小: 两层的尺寸必须为 108 x 108 dp。...系统会在四面各留出 18 dp,以产生有趣的视觉效果,如视差或脉冲。 我验证了,不是这些尺寸也是可以的,但我们还是严格按照这个准则来吧。 ? ? 图3. 自适应图标支持各种视觉效果。...注意: 如果您没有使用必要的图层更新启动器图标,则该图标与系统 UI 显示的其他图标看起来不一致,并且不支持视觉效果。 用 XML 创建自适应图标 我们首先创建一个 Sample 项目,如图: ?...比以往多一个 res/mipmap-anydpi-v26 文件,打开,有背景和前景。 ic_launcher_background.xml <?

    2.8K100
    领券