0
我會非常感激的是有人可以提供幫助。android:如何從另一個自定義類的畫布上繪製視圖?
我在我的xml文件中用TableLayout創建了一個網格視圖。 在相應的java文件中,我檢索數組視圖中所有視圖的標識。 我有另一個類在其構造函數中接收對上面創建的視圖的引用,以便在其畫布上繪製。
public class Mosaique extends Activity {
Box [][]box = new Box[NL][NC];
View [][] boxMosaique = new View[NL][NC];
//...
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mosaique);
boxMosaique[0][0] = findViewById(R.id.b_00);
boxMosaique[0][1] = findViewById(R.id.b_01);
boxMosaique[0][2] = findViewById(R.id.b_02);
//…
for (int lig=0;lig<NL;lig++)
for(int col=0;col<NC;col++)
box[lig][col] = new Box(boxMosaique[lig][col], bckgrnd_color, lig,col);
}
//...
}
// The constructor of the another class which access the views for drawing
public Box(View aView, int backGroundColor, int lig, int col){
this.aView = aView;
this.lig = lig;
this.col = col;
this.backGroundColor = backGroundColor;
// How to access the canvas of aView for drawing ?
}
Thaks Mr Rao。那麼我怎樣才能使用findViewById(...)從函數protected void onCreate(Bundle savedInstanceState)調用Box對象的構造函數? – Bocar
Box boxView = findviewById(..); boxview.drawBox(...);這會在內部調用invalldate() - 它基本上會重繪視圖。 –