2011-12-28 80 views
0

我發現了類似的問題,但沒有一個給出我的問題的正確答案。在android上繪製多個視圖

我有一個類是一個視圖。

public class Actor extends View { 
private ShapeDrawable drawable; 

int x = 0; 
int y = 0; 
int width = 100; 
int height = 40; 

public Actor(Context context) { 
    super(context); 

    drawable = new ShapeDrawable(new OvalShape()); 
    drawable.getPaint().setColor(0xff74AC23); 
    drawable.setBounds(x, y, x + width, y + height); 
} 

@Override 
public void onDraw(Canvas canvas){ 
    super.onDraw(canvas); 
    drawable.draw(canvas); 
} 

}

我想現在要做的是吸取了Android屏幕上的這個觀點的多個實例。我可以在活動中做此畫一個:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    Dimension actor1 = new Actor(this); 
    setContentView(actor1); 
} 

我的目標是繪製它的多個實例,當然與其他X和Y參數,以便它們不重疊。我不想先將視圖轉換爲位圖,才能將其放入畫布中。

回答

0

首先 - 創建一些佈局,然後調用setContentView(yourlayout)。

然後,使用這樣的方法:

setContentView(R.layout.main); 
FrameLayout mainLayout=(FrameLayout) findViewById(R.id.mainLayout); 
Dimension actor1 = new Actor(this); 
mainLayout.addView(actor1); 
+0

我試圖擴大在這樣一種方式,我能做到這一點,你說的方式的ViewGroup類,但我不能得到這個工作。 – 2011-12-28 17:36:53

+0

對不起,但我沒有得到。爲什麼那麼認真?更新了我的答案。 – 2011-12-28 17:43:33

+0

我的意思是我沒有得到一個佈局,我可以做到這一點。但我只是想,可能由RelativeLayout來完成這項工作,我會看看它。 – 2011-12-28 17:47:01