我正在使用 TransitionDrawable 为按钮创建交叉淡入淡出动画。按下一次后,该按钮将打开我的服务并进行转换。再次按下时,按钮会关闭我的服务并发生反向转换。此转换的 xml 代码如下:-
<?xml version="1.0" encoding="UTF-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/main_off" />
<item android:drawable="@drawable/main_on" />
</transition>
问题在于,当活动暂停时,一旦它恢复,TransitionDrawable 就会恢复为 Drawable main_off(即位于索引/第 0 层的那个)。我可以检查我的服务是否在 onResume() 中运行,所以我的标志变量已准备好。我无法管理的是如何将 TransitionDrawable 设置为该 xml 文件中的 Drawable 之一,即如果服务正在运行,我如何在 onResume() 中将 TransitionDrawable 设置为 main_on?我尝试使用 setDrawableByLayerId() 方法,但它似乎不起作用。不确定我是否只是没有正确使用它。任何帮助表示赞赏。谢谢。