android中Drawable的mutate方法作用

来源:互联网 发布:淘宝直播怎么上链接 编辑:程序博客网 时间:2024/05/16 17:35

摘录android的官方注释


/** * Make this drawable mutable. This operation cannot be reversed. A mutable * drawable is guaranteed to not share its state with any other drawable. * This is especially useful when you need to modify properties of drawables * loaded from resources. By default, all drawables instances loaded from * the same resource share a common state; if you modify the state of one * instance, all the other instances will receive the same modification. * * Calling this method on a mutable Drawable will have no effect. * * @return This drawable. * @see ConstantState * @see #getConstantState() */public Drawable mutate() {    return this;}

上面的注释已经说的很明白了:让这个draw变成一个可变的drawable。什么是可变的drawable呢?


android中从同一个资源文件中加载出来的drawable会共享状态,如果你加载出来多个drawable,当改变了其中一个的状态时,其他drawable的状态也会相应改变。

如果把这个drawable变为mutate drawable后,这个drawable就不会与其他drawable共享状态。

特别注意,这个mutate操作是不可逆转的。


1 0
原创粉丝点击