Android:当从xml实例化View时,覆盖onDraw而不进行子类化

时间:2013-07-31 09:05:30

标签: android ondraw anonymous-inner-class

我有一个ConditionalEditText类,它是一个包含EditText和TextView的复合自定义视图。此视图的布局以XML格式定义。我想覆盖EditText的onDraw方法。但是因为它已经从XML实例化了。我不能做像

这样的事情
EditText edt = new EditText() {
    protected void onDraw() {
        ....
    }
}

除了子类化EditText或者UI实例化是Java而不是XML之外,有没有办法覆盖onDraw()方法?

1 个答案:

答案 0 :(得分:0)

您应该覆盖EditText,然后在xml:

中实例化您自己的自定义EditText
public class CustomEditText extends EditText {
    public CustomEditText(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public void onDraw() {
        // your code
    }
}

对于xml实例化:

<com.android.example.CustomEditText
    ...
/>

有关详细信息,请参阅官方文档:http://developer.android.com/guide/topics/ui/custom-components.html#modifying