Android源码学习系列-----Drawable类

本文详细介绍了Android中Drawable动画控制接口Callback的使用方法,包括如何通过invalidateDrawable触发重绘、scheduleDrawable安排动画帧以及unscheduleDrawable取消动画帧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

android.graphics.drawable.Drawable

内部类

/*如果你想实现一个扩展子Drawable的动画drawable,那么你可以通过setCallBack(android.graphics.drawable.Drawable.Callback)来把你实现的该接口注册到动画drawable
*中。可以实现对动画的调度和执行
*/ 
public static interface Callback {
        /**
         * 当drawable重画时触发,这个点上drawable将被置为不可用(起码drawable展示部分不可用)
         * @param 要求重画的drawable
         */
        public void invalidateDrawable(Drawable who);

        /**
         * drawable可以通过该方法来安排动画的下一帧。可以仅仅简单的调用postAtTime(Runnable, Object, long)来实现该方法。参数分别与方法的参数对
         *应
         * @param who The drawable being scheduled.
         * @param what The action to execute.
         * @param when The time (in milliseconds) to run
         */
        public void scheduleDrawable(Drawable who, Runnable what, long when);

        /**
         *可以用于取消先前通过scheduleDrawable(Drawable who, Runnable what, long when)调度的某一帧。可以通过调用removeCallbacks(Runnable,Object)来实现
         * @param who The drawable being unscheduled.
         * @param what The action being unscheduled.
         */
        public void unscheduleDrawable(Drawable who, Runnable what);
    }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值