使用自定义属性设置View子类的自定义属性?

时间:2013-01-21 03:35:59

标签: android android-layout

如果我有以下设置:

public class ABCView extends View {
    //implementation here
}

使用以下自定义属性:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name = "ABCView" >
       <attr name="foo" format="boolean"/>
    </declare-styleable>
</resources>

如果我想将此视图与另一个视图子类化,但仍然能够在XML中指定自定义属性的值,我该怎么做?

public class DEFView extends ABCView {
    //implementation here
}

但是当我尝试在XML中使用子视图时,我收到一个错误 - 它无法识别该属性是否适用,因为它似乎不知道java类之间的关系。我怎么处理这个?

1 个答案:

答案 0 :(得分:2)

由于XML不涉及java类层次结构,因此您可能还需要为子子类视图明确指定自定义属性。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name = "DEFView" >
       <attr name="foo" format="boolean"/>
    </declare-styleable>
</resources>