Custom View extending the View-Class but still bas

2019-08-12 04:13发布

问题:

I want to build my own custom view which should look like the Crysis-GUI.

At first I designed a XML-based Layout and made it visible via the setContentView(int resid)-Method. Worked pretty well.

But now I wan't to go a step further and draw in my Layout. So I created a new Class, let it extend View and overrode the onDraw()-Method. So far so good. Works as expected

public class RifleView extends View {

public RifleView(Context context) {
    super(context);
}

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    Paint p = new Paint();
    p.setARGB(255, 255, 0, 0);
    canvas.drawText("Hello World", 20, 20, p);
}

}

But how can I still use my XML-Layout? I can't do setContentView anymore, so how could the same effect be achieved?

回答1:

Why can't you use setContentView ? Just make an xml tag like that : <com.mycompany.mypackage.myComponent ... xml attributes an tags </com.mycompany.mypackage.myComponent>