相关疑难解决方法(0)

带有矢量绘图的 TransitionDrawable

TransitionDrawable在xml中定义如下:

转换.xml

<?xml version="1.0" encoding="utf-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ic_disabled" />
    <item android:drawable="@drawable/ic_enabled" />
</transition>
Run Code Online (Sandbox Code Playgroud)

我用它来动画复选框的状态变化:

val stateDrawable = ContextCompat.getDrawable(this, R.drawable.transition) as TransitionDrawable
checkbox.buttonDrawable = stateDrawable
checkbox.setOnCheckedChangeListener { icon, checked -> 
    if (checked) {
        stateDrawable.startTransition(300) 
    } else {
        stateDrawable.reverseTransition(300)
    }
}
Run Code Online (Sandbox Code Playgroud)

如果@drawable/ic_disabled@drawable/ic_enabledpng文件,则一切正常。但如果它们是矢量绘图,则过渡不起作用。我缺少什么?不TransitionDrawable支持矢量绘图?

android android-animation android-vectordrawable

2
推荐指数
1
解决办法
1696
查看次数