【问题标题】:Can we set RelativeLayout or LinearLayout logic in ViewGroup derived class?我们可以在 ViewGroup 派生类中设置 RelativeLayout 或 LinearLayout 逻辑吗?
【发布时间】:2012-05-04 23:30:57
【问题描述】:

我有一个派生自 ViewGroup 的抽象类 ClassA

我想将ClassA 扩展到这些类:

ClassB 带有 LinearLayout 布局逻辑

ClassC 带有 RelativeLayout 布局逻辑

这可能吗?

我没有找到如何在派生方法 onLayout()onMeasure() 中实现默认的 LinearLayoutRelativeLayout 逻辑

如果不可行,还有其他解决方案吗?

【问题讨论】:

    标签: android derived-class viewgroup


    【解决方案1】:

    我认为直接从ClassBClassC扩展LinearLayoutRelativeLayout会更好。然后,您使用composition 来通过ClassA 的逻辑来增强这些类的行为。

    【讨论】:

    • 好的,但是使用这个解决方案我不能使用ClassA 作为参数类型来访问派生方法。不太好
    • 是的,您可以……这就是委托的用途。顺便说一句,在这种情况下 ClassA 不应该扩展 ViewGroup
    • 好的,如果我理解的话,我可以使用ClassA 实例在ClassBClassC 中访问ClassA 方法。正确的 ?但这不可能将ClassA 转换为View,这会导致我的实现出现一些问题。它似乎比我想象的要复杂
    • 是的,您不能从ClassA 转换为View...但您可以从ClassBClassC 转换为View
    猜你喜欢
    • 2020-04-14
    • 1970-01-01
    • 2011-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多