我正在尝试通过堆叠几个较小的布局和视图来构建复杂的布局。例如,我们有一个基于矢量渲染的自定义图标,我们将它们与TextView以及我们称之为DecorativeIconTextView的类中的一些其他配件一起显示。
问题在于渲染。该图标知道如何在正常和禁用状态下呈现自身。但是,即使已禁用其父装饰DecorativeIconTextView,该图标仍会报告它本身已启用。
思考包括一些询问父链以查看其中任何一个是否报告为禁用(ala pull)的方法,如果是,请将自己视为已被禁用。但是,该方法不允许更改父级的isEnabled属性以向下传播到所有子级(ala push)。
我也不确定如何监视对isEnabled属性的更改,因为我没有看到任何覆盖。
那么当父母的isEnabled状态发生变化时,如何通知孩子呢?
答案 0 :(得分:0)
启用或禁用视图时,视图无效。因此将调用onDraw()方法。您可以扩展任何视图并覆盖onDraw()方法,并且可以在视图状态发生变化时通知您的系统。