创建后如何更改InsetDrawable Inset值

Joh*_*nny 5 android drawable android-drawable

我有一个InsetDrawable定义,并且我希望能够在运行时调整inset的值,而无需重新分配另一个drawable。

这可能吗?还是唯一的方法是重新创建InsetDrawable?

Dan*_*nai 5

这是不可能的,因为它的API不是公开的。我遇到了与您相同的问题,但是就我而言,我必须对插图进行动画处理,因此重新创建可绘制对象是一个非常昂贵的选择。

最后,我复制了InsetDrawable的源代码,并添加了一种更改inset的方法。

您可以在这里查看。使用setInsets()更改插图的方法。