Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Android中的可绘制对象上应用动画

在Android中的可绘制对象上应用动画
EN

Stack Overflow用户
提问于 2010-05-25 05:26:32
回答 4查看 14.1K关注 0票数 8

我正在添加一个发光动画效果到一个标志。到目前为止,我已经设法使用LayeredDrawable获得了徽标背后的发光图像,但我不知道如何使其具有动画效果。我发现AlphaAnimation可以达到预期的效果,但不幸的是,我只能将其应用于视图,而不能应用于Drawables。怎样才能达到这个效果呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-05-22 00:16:14

Android3.0引入了Property Animations

不幸的是,这仅限于Android3.0和更高版本,不会很快在手机上使用。

票数 3
EN

Stack Overflow用户

发布于 2014-11-11 14:13:02

简单的例子

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
final ImageView imageView = (ImageView) findViewById(R.id.animatedImage);
final Button animated = (Button) findViewById(R.id.animated);
animated.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Drawable drawable = imageView.getDrawable();
        if (drawable.getAlpha() == 0) {
            ObjectAnimator animator = ObjectAnimator.ofPropertyValuesHolder(drawable, PropertyValuesHolder.ofInt("alpha", 255));
            animator.setTarget(drawable);
            animator.setDuration(2000);
            animator.start();
        } else {
            ObjectAnimator animator = ObjectAnimator.ofPropertyValuesHolder(drawable, PropertyValuesHolder.ofInt("alpha", 0));
            animator.setTarget(drawable);
            animator.setDuration(2000);
            animator.start();
        }
    }
});

方法getAlpha()在API19中添加。但这不是一个很大的限制,您可以将状态保存在本地变量中。ObjectAnimator在Android3.0(API11)中添加,也许老版本的Android你可以使用nineoldandroids。我没有用九个机器人做测试。

票数 9
EN

Stack Overflow用户

发布于 2018-04-17 08:06:51

谢谢你@AndreyNick,它就像一个护身符!我还用它做了一个LayerDrawable,在其中只绘制一个可绘制的(一层)动画。这是代码,可能对某些人有用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Drawable[] layers = new Drawable[2];
layers[0] = new ColorDrawable(Color.RED);
BitmapDrawable bd = new BitmapDrawable(activity.getResources(), bitmap);
bd.setGravity(Gravity.CENTER);
Drawable drawLogo = bd;
layers[1] = drawLogo;
LayerDrawable layerDrawable = new LayerDrawable(layers);

layers[1].setAlpha(0);

((AppCompatActivity) activity).getSupportActionBar().setBackgroundDrawable(layerDrawable);

ObjectAnimator animator = ObjectAnimator.ofPropertyValuesHolder(layers[1], PropertyValuesHolder.ofInt("alpha", 255));
animator.setTarget(layers[1]);
animator.setDuration(2000);
animator.start();

我需要为Action Bar创建一个可绘制的,使用:

  • a layer (0)是背景色,
  • a layer (1)中间带有徽标(带有淡入淡出动画)

我用毕加索加载徽标,我喜欢在加载(位图onBitmapLoaded回调)时对其进行动画处理。

我希望这能有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2902222

复制
相关文章
OpenCV 在 Android 上的应用
在 Android Studio 中创建一个 Library,将官网下载的 OpenCV 导入后,就可以直接调用 OpenCV 中 Java 类的方法。
fengzhizi715
2020/05/04
2.2K0
Flutter 绘制探索 | 绘制中的动画变换
这篇文章来通过一个有趣的案例,介绍一下 绘制中的动画变换 ,以及如何在当前的变换基础上,叠加变换。如下所示,小车在界面上呈现的任何变动,都是变换矩阵作用的效果: 注: gif 图片为 15fps ,有些卡顿,非实际动画运行效果
张风捷特烈
2023/04/23
1.1K0
Flutter 绘制探索 | 绘制中的动画变换
Android动画绘制原理(源码解析)
Android 平台提供了三类动画,一类是 Tween 动画-Animation,即通过对场景里的对象不断做图像变换 ( 平移、缩放、旋转 ) 产生动画效果;第二类是 Frame 动画,即顺序播放事先做好的图像,跟电影类似。最后一种就是3.0之后才出现的属性动画PropertyAnimator(在下文我们讲帧动画和补间动画统一称为View动画)。如果有人对ViewGroup内部View使用过View动画的还知道有layout-animation。
静默加载
2020/05/29
3.5K0
关于MVP架构在Android上的应用
最近研究了一下android开发的一些框架,对于开发整体上具有一定好处,对于拓展测试修改也具有一定的优势。
Mezereon
2019/02/25
6890
关于MVP架构在Android上的应用
Material Design 在 Android 中的应用
我刚来这个公司的时候,每个周三都会有分享会,主题自定,分享对象尽量是面向大众,一开始觉得不错,但是到后面发现分享的内容不是那么有营养,而且积极性不是很高,都是当做任务进行分享。 程序员因为较为腼腆,分享的人较少,大部分都是客户部、分析部或者推广部的分享,久而久之,氛围就比较消极。
蜻蜓队长
2018/08/03
1.3K0
Material Design 在 Android 中的应用
Android开发中基础动画技巧的应用 原
        我是先入门iOS的移动开发者,提到动画开发,iOS开发者很容易联想到3种方式,UIImageView的帧动画,UIView层的属性动画和CoreAnimation动画。Android中也有3种方式创建基础动画效果,分别为View Animation,Property Animation和Drawable Animation。由于Android开发的固有特点,其在进行动画编程时也支持使用代码和xml配置文件两种方式。本篇博客,将主要向大家介绍这3种创建Android动画方式的使用方法与可以做到的效果。
珲少
2018/08/15
7840
Android开发中基础动画技巧的应用
                                                                            原
小技巧 | 在 Android Studio 调试应用 (上)
作为开发者,我们有时会被一些问题所困,导致在调试器中所花费的时间甚至超过了编写代码所用的时间。正因如此,最近我们找机会了解了 Android Studio 团队在提升调试速度方面使用的一些技巧。接下来,我们会为您一一呈现那些我们认为最好的、节省您时间的、且方便与您的调试流程整合的小技巧。
程序亦非猿
2020/11/10
1.6K0
小技巧 | 在 Android Studio 调试应用 (上)
在Linux上使用Chrome运行Android应用
Google在今年的I/O上发布了一个移植跨界应用  名为App Runtime for Chrome(Beta)这个东西可以让Android系统的App运行于ChromeOS下
用户8704998
2021/06/07
3.6K0
Python+Matplotlib在极坐标系中绘制动画
问题描述: 在极坐标系中绘制变化的图案,修改代码中的初始位置和计算公式可以得到不同的动画。 参考代码: 运行结果: http://mpvideo.qpic.cn/0b2e4aaagaaay4a
Python小屋屋主
2023/08/29
2530
Python+Matplotlib在极坐标系中绘制动画
在iOS中怎样创建可展开的Table View?(上)
几乎所有的app都有一个共同特征,它们向用户提供了多个视图控制器来导航和工作.这些视图控制器可以用在很多方面,例如,简单地显示某种信息在屏幕上,或者从用户的输入收集复杂的数据.为不同功能的app创建新的视图控制器经常是强制性的,并且好几次都是有点让人退缩的任务.然而,如果你只是使用可展开的tableview,有时也可能避免创建视图控制器(以及在storyboard中它们各自的场景).
hrscy
2018/08/30
1.9K0
在iOS中怎样创建可展开的Table View?(上)
android scaleanimation动画,Android 动画之ScaleAnimation应用详解「建议收藏」
ScaleAnimation(float fromX, float toX, float fromY, float toY,int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)
全栈程序员站长
2022/11/03
3880
android scaleanimation动画,Android 动画之ScaleAnimation应用详解「建议收藏」
机器学习在组合优化中的应用(上)
运筹学自二战诞生以来,现已被广泛应用于工业生产领域了,比如交通运输、供应链、能源、经济以及生产调度等。离散优化问题(discrete optimization problems)是运筹学中非常重要的一部分,他们通常可以建模成整数优化模型进行求解,即通过决定一系列受约束的整数或者0-1变量,得出模型最优解。
短短的路走走停停
2021/03/04
3K0
在 Kubernetes 上设计和部署可扩展应用的 15 条原则
本文最初发表于 Elastisys 的技术博客,经原作者 Lars Larsson 授权由 InfoQ 中文站翻译分享,未经许可禁止转载。
深度学习与Python
2022/11/28
8500
在 Kubernetes 上设计和部署可扩展应用的 15 条原则
Flash在DirectX中的绘制
这里使用的是之前我说过的OLE控件在Direct3D中的渲染方法, 自己不进行swf的解析, 这不现实. 前提条件: COM编程, OLE编程, DirectX编程, ActionScript/Flash(可选). 创建一个ShockwaveFlashObjects::IShockwaveFlash的对象 实现一个IOleClientSite来做为IShockwaveFlash的容器 绘制 通过OleDraw来把GDI的像素数据绘制到DC上(IShockwaveFlash是一个IViewObjec
逍遥剑客
2018/05/23
1.9K0
在 Android 模拟器上运行 ARM 应用
随着 Android 11 开发者预览版的发布,我们同时也推出了 Android 11 系统映像。新的系统映像在执行 ARM 二进制文件方面取得了显著的性能提升。此前,依赖 ARM 库且无法构建 x86 版本应用的开发者只能使用完整的 ARM 模拟系统映像 (其速度远低于在 x86 设备上运行 x86 系统映像) 或者实体机。Android 11 系统映像能够在不影响整个系统的前提下,直接将 ARM 指令转换成 x86 指令。开发者无需搭建高负载的 ARM 环境即可执行 ARM 二进制文件并进行测试。
Android 开发者
2020/04/10
3.6K0
在 Android 模拟器上运行 ARM 应用
对象池在 .NET (Core)中的应用[2]: 设计篇
《编程篇》已经涉及到了对象池模型的大部分核心接口和类型。对象池模型其实是很简单的,不过其中有一些为了提升性能而刻意为之的实现细节倒是值得我们关注。总的来说,对象池模型由三个核心对象构成,它们分别是表示对象池的ObjectPool<T>对象、对象值提供者的ObjectPoolProvider对象,已及控制池化对象创建与释放行为的IPooledObjectPolicy<T>对象,我们先来介绍最后一个对象。
蒋金楠
2021/08/31
1.5K0
对象池在 .NET (Core)中的应用[2]: 设计篇
Android中的动画全解!
View动画的平移、缩放、旋转、透明度 分别对应 Animation的的4个子类:TranslateAnimation、ScaleAnimation、RotateAnimation、AlphaAnimation。View可以用xml定义、也可以用代码创建。推荐使用xml,可读性好。
胡飞洋
2020/07/23
2.3K0
Android中的动画全解!
点击加载更多

相似问题

动画可绘制在android中不动画?

11

Android动画可绘制

355

在复合可绘制Android上实现缩放动画

112

Xamarin.Android上的可绘制动画

10

在android的XMl中声明可绘制的动画

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文