Android 上视图背景颜色的动画变化

2024-01-01

如何在 Android 上以动画方式改变视图的背景颜色?

例如:

我有一个背景色为红色的视图。视图的背景颜色更改为蓝色。如何在颜色之间实现平滑过渡?

如果无法通过视图来完成此操作,则欢迎使用替代方案。


您可以使用新的属性动画 API http://developer.android.com/guide/topics/graphics/prop-animation.html对于彩色动画:

int colorFrom = getResources().getColor(R.color.red);
int colorTo = getResources().getColor(R.color.blue);
ValueAnimator colorAnimation = ValueAnimator.ofObject(new ArgbEvaluator(), colorFrom, colorTo);
colorAnimation.setDuration(250); // milliseconds
colorAnimation.addUpdateListener(new AnimatorUpdateListener() {

    @Override
    public void onAnimationUpdate(ValueAnimator animator) {
        textView.setBackgroundColor((int) animator.getAnimatedValue());
    }

});
colorAnimation.start();

为了向后兼容 Android 2.x 使用九个老机器人库 http://nineoldandroids.com/来自杰克·沃顿。

The getColor该方法在 Android M 中已被弃用,因此您有两种选择:

  • 如果使用support库,则需要替换getColor呼叫:

    ContextCompat.getColor(this, R.color.red);
    
  • 如果不使用支持库,则需要替换getColor呼叫:

    getColor(R.color.red);
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 上视图背景颜色的动画变化 的相关文章

  • Phonegap(应用程序错误...发生网络错误)

    我已经使用phonegap 创建了一个版本 在index html 文件中 我编写了一个简单的iframe 用于加载网站 当我从phonegap获取本地url时它就起作用了 但如果我将整个构建作为 zip 文件上传到 PhoneGap 中
  • AIRPLANE_MODE 的广播接收器无法与 SDK 26 一起使用

    通常 我使用简单的代码来放置Toast当用户改变AIRPLANE MODE 并且它可以使用targetSdkVersion 25 我的 AirPlaneModeReceiver public class AirPlaneModeReceiv
  • 如何从Slog中查看日志

    如何查看 Slog API 生成的日志 是否有任何选项可以查看系统缓冲区中的日志 我的意思是查看我们使用的无线电缓冲区的日志 adb logcat b 无线电 而这个日志是由Android的Log类生成的 Slog API 的输出在哪里 怎
  • 如何在 Android 中创建始终位于顶部的全屏覆盖 Activity

    我希望能够创建一个始终位于 Android 显示前面的 Activity 它不应该接收任何输入 只需将其传递到其下面的任何应用程序即可 像平视显示器之类的东西 我能够研究我需要将底层窗口类型设置为 TYPE SYSTEM ALERT 但看起
  • Android 在 Windowmanager 中调整视图大小

    这是我的代码 menubuttonClosed li inflate R layout menu button null menubutton ImageButton menubuttonClosed findViewById R id m
  • 在 Android 中使用 AES 加密的最佳实践是什么?

    我为什么问这个问题 我知道人们对 AES 加密存在很多疑问 即使对于 Android 也是如此 如果您在网络上搜索 会发现很多代码片段 但在每个页面上 在每个 Stack Overflow 问题中 我都发现了另一个具有重大差异的实现 所以我
  • Android - 使用 SAX 解析器解析大文件

    我正在尝试使用 SAX 解析器解析来自 webservice 的 xml 数据 当我尝试使用 URL 解析数据 大小 7 4MB 时 它工作正常 但是当我从 URL 复制 xml 数据并放置 xml 文件时 size 7 4MB 在raw文
  • 何时调用 glMatrixMode()

    我所关注的大多数 Android OpenGL ES 教程都有其 onSurfaceChanged 函数 如下所示 public void onSurfaceChanged GL10 gl int width int height gl g
  • 片段活动中的 commitAllowingStateLoss()

    我的应用程序使用片段活动 它仅处于纵向模式 无法旋转屏幕 最初我使用的是commit 方法 但现在我计划不加区别地将这些更改为commitAllowingStateLoss 对于碎片活动 是否有任何理由不不加区别地执行此操作而不重新评估我使
  • 使用 Box2d(适用于 Android)进行碰撞检测?

    有人可以解释一下使用 box2d for android 进行碰撞检测的工作原理吗 我无法理解 BBContactListener 以什么方式工作 BBContactListener listener new BBContactListen
  • DialogFragment 关闭事件

    我需要处理 DialogFragment 的结尾 在调用 dismiss 之后 例如 我会在关闭后 包含 片段的活动内显示一个 toast 我该如何处理该事件 覆盖onDismiss 在你的DialogFragment中 或者使用setOn
  • android - 如何让按钮每次按下时单击播放声音文件?

    我打开了一个新项目 现在我想做的是 通过按下按钮 我想要播放一个 mp3 文件 而且每次按下按钮时 声音文件都会再次从头开始播放 所以假设 mp3 长 10 秒 我按下按钮 它正在播放 4 秒后我再次按下按钮 声音将再次播放 现在我想知道的
  • Android:选择 EditField 上焦点上的所有文本

    我试图让 Android 在获得焦点时选择 EditText 字段中的所有文本 我在布局中使用此属性 在两个字段上 android selectAllOnFocus true 我不确定这是否相关 但为了将光标移动到第一个可编辑字段 前面 还
  • 在 VideoView 开始播放之前,TextView 不会显示

    我编写了一个android应用程序 它有两个视图 TextView上方的VideoView 位于ScrollView内部 我遇到了一个问题 直到VideoView开始播放视频 TextView才显示 并且我有一个黑屏 这可能需要很长一段时间
  • 片段中的 SavedInstanceState 始终为 null

    我使用 XML 以及活动中的 setContentView 将片段附加到活动 A 有一个问题 因为我的片段中有非常动态的视图 所以当方向改变时 我必须恢复所有的观点状态 我有问题 因为我正在使用类似的东西 public void onSav
  • FCM 主题是否适合更多用户?

    我对使用主题消息有点困惑 我的场景是根据通知触发一些作业 请帮助我更多地了解这一点 如果我们正在处理大量用户 则可以使用 FCM 主题向用户发送通知 我们可以只使用数据消息和主题消息吗 使用主题发送的消息是否保证送达 我在 FCM 文档中看
  • AndroidAnnotations 和 Dagger

    我正在尝试使用 Dagger 注入 Android 带注释的 Activity java lang IllegalArgumentException No inject registered for members com app serv
  • 使用 PDFBox 在 Android 中创建 PDF

    我正在尝试通过我的 Android 应用程序创建 PDFPDFBoxapi 但出现以下错误 java lang NoClassDefFoundError org apache pdfbox pdmodel PDDocument 我已经将以下
  • Android Webview隐私浏览

    我在我的 Android 应用程序中使用 webview 从多个站点获取一些网页 我对 webview 行为有一些疑问 webview 是否存储历史记录 cookie 表单自动填充信息 如果是的话 我们可以阻止它这样做吗 如果 Webvie
  • FCM(Firebase Cloud Messaging)如何发送到所有手机?

    我创建了一个小型应用程序 能够从 FCM 控制台接收推送通知 我现在想做的是向所有使用 API 安装应用程序的 Android 手机发送推送通知 这就是我完全迷失的地方 有没有办法在不收集所有注册ID的情况下将其发送到所有手机 这是否仅适用

随机推荐

  • Discord.py wait_for('reaction_add') 与直接消息的功能不同

    我的目标是让机器人对其自己的消息做出反应 然后如果发送原始命令的用户也做出反应 则在该频道中发送回复 现在 如果命令在服务器通道中发送 则该功能可以工作 但如果作为直接消息发送给机器人 它不会等待您的反应 通过打印的值user id and
  • 在 Haskell 中解析大型日志文件

    假设我有几个 200mb 的文件想要 grep 遍历 我该如何在 Haskell 中做到这一点 这是我的初始程序 import Data List import Control Monad import System IO import S
  • 如何通过在shopify中点击将多个产品添加到购物车

    我想在 Shopify 中单击一下即可将多个产品添加到购物车 应用经常一起购买的产品的算法 如果有人了解 Shopify API 或与上述相关的内容 请提供帮助 请用您的知识指导 网上有大量相关文档 https help shopify c
  • 如何让 console.clear() 在清除后不给出消息[重复]

    这个问题在这里已经有答案了 When ever I use console clear it says in console Console was cleared Is there a way to clear the console w
  • 按嵌套数组键分组

    我有一些示例数据 显示了与文档相关的一些数据 docs id 及其所指的人 details id const docs id 89 state accepted details id 20656 type Claimant name Fir
  • 获取linux中每个设备的内存映射

    如何获取 Linux 识别的所有物理设备的内存映射 我已经查看了 proc iomem 和 proc ioports 但是 我无法找到每个设备的内存映射 关于如何实现这一目标有什么想法吗 据我所知 唯一通用的方法是 proc iomem 这
  • 在 MVC3 中扩展不显眼的 javascript 以将样式添加到 div 客户端的最佳方法

    我正在使用 html5 Razor MVC3 利用 Twitter 的 Bootstrap 模板 我想要表单验证看起来像他们记录的那样光滑 http twitter github com bootstrap forms http twitt
  • 使用 boto,在 s3 上已存在的文件上设置 content_type

    我正在使用 django 存储和 s3boto 后端 根据这个问题 http code larlet fr django storages issue 5 s3botostorage set content type header acl
  • Redux Toolkit Streaming 更新 - 如何处理关系实体适配器?

    我正在处理使用 RTK 查询和实体适配器的聊天 我目前有 2 个不同的实体适配器 一种用于聊天 一种用于消息 如何选择特定聊天的所有消息 我是否需要在聊天适配器内存储消息 id 数组 还是选择所有消息并按parent chat uuid 属
  • Spring Web Flow 防止后退按钮使用

    因此 我在项目上使用 Spring Web Flow 并希望在元素上使用history discard 和history invalidate 属性 我已将这些属性放置在我想要的位置 但是 当我在转换上运行历史记录属性后尝试通过导航到视图来
  • UWP - 将 TextBox.Text 绑定到 Nullable

    目前无法绑定到任何内容 这是正确的吗 Nullable
  • 使用命名元组多处理对象 - Pickling 错误

    我在想要放入多重处理的对象中使用命名元组时遇到问题 我收到酸洗错误 我尝试了其他 stackoverflow 帖子中的一些方法 但没有成功 这是我的代码的结构 包主 测试模块 import myprogram package of clas
  • Cassandra数据复制问题

    我有一个 2 节点 cassandra 集群 复制因子为 2 并且 AutoBootStrap true 启动期间一切正常 两个节点都能看到对方 我们将这些节点称为 A 和 B 通过节点 A 将一组键和列 我们称之为 K1 添加到 cass
  • Swift 3:如何使用 AVVideoComposition 导出带有文本的视频

    我正在尝试使用AVVideoComposition在视频顶部添加一些文本并保存视频 这是我使用的代码 I 创建一个AVMutableComposition and AVVideoComposition var mutableComp AVM
  • 避免每次都执行 adb tcpip 5555

    我喜欢能够通过 WIFI 使用 ADB 来操作我的 Android 手机 通过 USB 连接后 我运行adb tcpip 5555 然后我可以断开 USB 并运行adb connect phone s IP 5555 我不喜欢的是 每次我必
  • 如何使用反应钩子获取网络摄像头?

    我正在尝试使用 React hooks 将网络摄像头源显示在我的应用程序上 我还需要能够从提要中捕获最新的图像 我相信我有基础 但缺少一些东西 import React useState useEffect from react expor
  • 如何在 dynamodb 本地执行更新

    目前我有 amazon dynamodb local 的本地图像 每当我尝试对数据库执行更新操作时 它都会创建一个重复行而不是更新现有记录 我的表定义是 TableName commission KeySchema AttributeNam
  • 禁用 Chromium“无法更新 Chromium”窗口通知

    我们在触摸屏 Linux 上以 kiosk 模式运行 Google Chromium 我们经常收到 无法更新 Chromium 窗口通知 我们还没有找到可以阻止这种情况的标志 有人有主意吗 这个Bug似乎四处飘荡Debian https b
  • “代表”发送电子邮件

    我收到了很多 代表 的电子邮件 例如 AddThis 插件代表从 addThis com 发送电子邮件 电子邮件受保护 cdn cgi l email protection 如何在 C ASP NET 中执行此操作 另外 如果我们使用 gm
  • Android 上视图背景颜色的动画变化

    如何在 Android 上以动画方式改变视图的背景颜色 例如 我有一个背景色为红色的视图 视图的背景颜色更改为蓝色 如何在颜色之间实现平滑过渡 如果无法通过视图来完成此操作 则欢迎使用替代方案 您可以使用新的属性动画 API http de