【发布时间】:2011-02-25 20:54:50
【问题描述】:
我有一个 LayerDrawable,我用一个包含 5 个 Drawable 的 Drawable 数组来构造它。 现在假设在运行时我想在我的 LayerDrawable 中添加另一个 Drawable,以响应一个事件。我如何在不必重新创建 LayerDrawable 的情况下做到这一点,这次使用 6 个 Drawable 的 Drawable 数组? 谢谢。
【问题讨论】:
我有一个 LayerDrawable,我用一个包含 5 个 Drawable 的 Drawable 数组来构造它。 现在假设在运行时我想在我的 LayerDrawable 中添加另一个 Drawable,以响应一个事件。我如何在不必重新创建 LayerDrawable 的情况下做到这一点,这次使用 6 个 Drawable 的 Drawable 数组? 谢谢。
【问题讨论】:
LayerDrawable 创建后,不能再添加新的Drawables。
参见source of LayerDrawable:drawable 数组保存在mLayerState.mChildren 中,并且只在构造函数中设置。
但是,setDrawableByLayerId(..) 可用于将现有的 Drawable 替换为新的。
【讨论】: