如何以编程方式将 setStateListAnimator 用于我的复选框?

How can I use setStateListAnimator programmatically to my checkbox?

我有一个复选框,我想为其设置动画,例如当用户点击复选框时,它会显示动画。如果我使用 xml 设置它,它会在初始显示时显示 运行 动画,但我希望仅当用户选中复选框时动画才会 运行 。只有我以编程方式设置它才有可能。

我已经尝试过的:-

 <CheckBox
        android:id="@+id/_like_heart"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="4dp"
        android:background="@mipmap/ic_user_heart"
        android:button="@null"
        android:checked="false"
        android:stateListAnimator="@animator/enlarge" />

是否有任何替代方案也可以支持较低版本的 android。

参考:How to use StateListAnimator?

Android L 中,为视图添加了一个新的 xml 属性:

android:stateListAnimator : 为视图设置基于状态的动画器。 另外实例化 StateListAnimator 对象 programmatically 一个新方法:

loadStateListAnimator(Context context, int id)

已添加到 AnimatorInflater

这些可以在 Android L 开发者预览文档包中找到。

Ex

StateListAnimator stateListAnimator = AnimatorInflater.loadStateListAnimator(this, 
 R.anim.enlarg);
 yourCheckbox.setStateListAnimator(stateListAnimator);

更多调查请访问https://developer.android.com/reference/android/animation/StateListAnimator

在您的复选框侦听器上添加此代码段

 StateListAnimator stateListAnimator = AnimatorInflater.loadStateListAnimator(this, 
 R.anim.my_anim);
 yourCheckbox.setStateListAnimator(stateListAnimator );