问题标签 [transitiondrawable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
573 浏览

android - 过渡 Drawable - 3 个选项

我想在 3 个可绘制对象之间更改按钮的样式:“正常”、“绿色”和“红色”。我使用了 TransitionDrawable,但它只适用于 2 层。

我将如何实现另一个“android:drawable”或者除了TransitionDrawable之外还有其他方法可以实现吗?如何根据输入在可绘制对象之间切换(0 - 代表红色,1 - 代表绿色)?

0 投票
0 回答
163 浏览

java - 嵌套在 for 循环中的 switch/case 语句中的 TransitionDrawable 动画

这样做的目的是创建 SimonSays 游戏并执行生成和显示需要重复的模式背后的逻辑

sequenceArray 已经填充了从 0 到 3 的随机值,使用 Random 类和 for 循环,然后我想做的是根据 sequenceArray 数组的每个元素的情况读取,我想以某种方式更改 4 个视图中的一个动画持续 200 毫秒,它应该给最终用户一种按下按钮的感觉,或者在这种情况下,按钮闪烁。我是这样做的:

我用下面显示的 OnClickListener 尝试了相同的代码并且它可以工作,但是由于某种原因,当我运行上面的代码时,什么都没有发生,也没有发生动画变化。

之后我测试了sequenceArray,它不是空的,但是由于某种超出我理解的原因,当前的代码不会做我想做的事。下面显示的 for 循环与上面的逻辑之间的主要区别是什么?

0 投票
1 回答
566 浏览

android - 如何在过渡 Drawable 中使用透明度?

我想设置从图片/颜色到完全透明的过渡。然而,无论我做什么,过渡的透明度都被忽略了。以下是我尝试过的一些事情:

结束状态由

我试过了:

如果我使用“CCFF00FF”之类的颜色作为最终状态,它将忽略“CC”(透明度)部分并简单地绘制纯洋红色。如果我对 alpha 使用“00”,它根本不会绘制任何东西,只是将其保持在开始状态。

我怎样才能让它过渡到透明度?

0 投票
0 回答
65 浏览

android - Android - 转换后未应用 imageview setBackground

MainActivity.java

iv1_selector.xml

我给 imageView 一个小动画,过渡。完成动画后,应该使用处理程序内的可绘制选择器更改 imageView 的背景。但是,由于某些原因,它的背景没有被应用,但是当我单击 imageView 时,它被应用了。我不知道处理程序内部发生了什么。对这种情况有什么建议吗?

过渡完成时

这是过渡完成后的样子

点击的时候

但正如你所看到的,我想让它周围有边框。我不明白为什么它的背景没有应用于处理程序

0 投票
0 回答
43 浏览

android - TransitionDrawable导致android中的ANR

我在 android 中遇到了 TransitionDrawable 类的问题,导致严格模式下的 ANR。这是导致 ANR 的方法调用:

我正在传递两个可绘制对象。imageToFadeOut 具有以下规格:

337X599 PNG(32位颜色)93.85KB

并且 imageToFadeIn 具有以下规格:

337X599 PNG(32位颜色)395.16KB

并且 ANR 是在 nexus 5 模拟器 api 19 xxhdpi 中引起的。实际的 ANR 主要以严格模式显示。

我收到以下日志错误

"I/Choreographer: Skipped 33 frames! The application may be doing too much work on its main thread."

该方法是从主线程调用的。我该如何解决这个问题?还是有另一种方法可以在两个图像之间进行交叉淡入淡出?

0 投票
2 回答
525 浏览

android - Android - 初始绘制时以“结束”状态开始的 TransitionDrawable 闪烁

我有一个包含艺术家列表的 RecyclerView。艺术家可以被标记为收藏或不收藏。

有一颗心来表示这种状态,我有一个可绘制的过渡图,根据相关艺术家是否被标记为收藏夹,我将从一个勾勒出的心形变为填充的心形。当用户单击心脏时,动画本身可以正常工作并且在两者之间平滑过渡,并且看起来很漂亮。

在项目的 onClick 中,我根据下一个状态调用 .reverseTransition(300) 或 .startTransition(300)。

每当创建视图(第一个屏幕加载)时我都会遇到问题,我需要从第二个位置开始(最喜欢的)。即使我的动画时间在创建时设置为 0,您也可以看到初始负载从空心到填充心闪烁。每当列表无效时也会发生这种情况,例如如果它被过滤到更小的艺术家集合中。

我想因为它需要做一些事情并且实际上不仅仅是设置可绘制对象,所以 0 实际上并不是“即时”的。我找不到任何其他方式从“结束”位置开始,除了在过渡可绘制本身中反转图像的起始位置。

但是,如果我这样做,开始/反向将在心脏的基础上表现不同。充其量,我需要扩展可绘制的过渡,并覆盖启动/反向/重置方法以考虑它所处的初始状态,这似乎有点骇人听闻?

我是否遗漏了一些明显的东西,从结束位置开始但不会导致闪烁?

谢谢!

0 投票
2 回答
284 浏览

java - CardView 不支持 TransitionDrawable?

我试图在CardView背景上为开关颜色设置动画,但我得到了这个:

无法解析方法“setCardBackgroundColor(android.graphics.drawable.TransitionDrawable)”

如果CardView不支持TransitionDrawable,那我们怎么能做到这样呢?

0 投票
0 回答
146 浏览

android - 在操作时间内更改过渡可绘制资源

我正在尝试动态更改分配给应用程序背景的过渡可绘制资源。我可以轻松更改第一层(通过将 getId 更改为 1 或 0),但是当我尝试更改第二层(通过将 getId 增加到 2)时,应用程序崩溃。任何人都可以帮忙吗?

这是logcat的输出

0 投票
0 回答
58 浏览

android - 相同的可绘制项目不会与 TransitionDrawable 呈现相同的大小

我正在尝试通过使用 TransitionDrawable 类更改背景可绘制对象来为 TextView 交替背景颜色设置动画。这是我得到的结果:

在此处输入图像描述

问题是第二个 drawable 比第一个小,因此绿色背景总是在侧面可见。我需要蓝色背景来完全覆盖绿色背景。我只是无法弄清楚为什么会这样。

一些布局文件:

crumb_animated.xml

在java中调用它:

0 投票
1 回答
78 浏览

java - Android UI - 如何在使用 TransitionDrawable 时动态更改图像

我想使用TransitionDrawable. 但是,TransitionDrawable只允许两个图像。如何动态更改图像?