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