背景
我有一个布局,它有一些特殊状态(比如被选中/按下),我希望设置它的孩子基于这个布局应用他们自己的可绘制对象。
我正在寻找一种替代方法,为它的每个孩子(甚至可能是它的所有后代)设置duplicateParentState为 true。
我试过的
我试图使自定义视图具有将其设置为每个子级的属性,但我找不到在哪个方法调用中将此属性应用于其所有子级。在我尝试过的每种方法中,它要么为 getChildCount() 返回 0,要么对孩子本身不做任何事情(使用setDuplicateParentStateEnabled())。
问题
正如文档所说,使用 setDuplicateParentStateEnabled 在我需要它的情况下不会做任何事情:
注意:在当前实现中,将视图添加到 ViewGroup 后将此属性设置为 true 可能根本没有效果。在将此视图添加到 ViewGroup 之前,应始终从 XML 使用此属性或将其设置为 true。
所以看来我用得太晚了,但我需要把它叫晚,因为孩子们还不存在于父母中......
问题
如何实现避免为每个孩子设置 duplicateParentState 的功能,并将其设置为父视图?