我有一个LayerDrawable,它使用5个Drawables的Drawables数组构造。
现在说,在运行时,我想为事件添加另一个Drawable到我的LayerDrawable中。我如何做到这一点而不必重新创建LayerDrawable,这次使用6个Drawables的Drawables数组?
谢谢。
最佳答案
创建LayerDrawable后,不能将新的Drawable添加到其中。
请参见source of LayerDrawable:可绘制对象的数组保存在mLayerState.mChildren
中,并且仅在Constructor中设置。
但是, setDrawableByLayerId(..)
可用于将现有的Drawable与新的Drawable交换。