我有一个LayerDrawable,它使用5个Drawables的Drawables数组构造。
现在说,在运行时,我想为事件添加另一个Drawable到我的LayerDrawable中。我如何做到这一点而不必重新创建LayerDrawable,这次使用6个Drawables的Drawables数组?
谢谢。

最佳答案

创建LayerDrawable后,不能将新的Drawable添加到其中。

请参见source of LayerDrawable:可绘制对象的数组保存在mLayerState.mChildren中,并且仅在Constructor中设置。

但是, setDrawableByLayerId(..) 可用于将现有的Drawable与新的Drawable交换。

10-08 03:19