1
我想构建自己的自定义视图,应该看起来像Crysis-GUI。自定义视图扩展视图类但仍然基于XML布局
起初,我设计了一个基于XML的布局,并通过setContentView(int resid)-Method使其可见。工作得很好。
但现在我不想更进一步,并在我的布局绘制。所以我创建了一个新类,让它扩展View并覆盖onDraw()方法。到现在为止还挺好。按预期工作
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);
}
}
但我怎么能继续使用我的XML布局?我不能再做setContentView,那么如何实现相同的效果呢?
但我不想在我的RifleView中使用setContentView有我的基于XML的布局。然后,我不想通过onDraw()来绘制它 - 方法 – Alien 2010-08-17 15:14:04
你不是说你的rifleView有孩子吗?这是一个视图...如果你想要它有孩子,你必须扩展ViewGroup – fedj 2010-08-17 15:17:00
这是makse的意义,但为什么我的onDraw() - 方法不被调用? – Alien 2010-08-17 15:29:38