我對android開發非常陌生,一直試圖繪製由多個不同顏色的小矩形組成的正方形......本質上就像一個Mosaic。使用循環繪製多個形狀 - Android Canvas
現在基本上我正在從一個文件中讀取值,該文件將顏色分配給較小的Rects。我正在使用一對嵌套for循環來逐行繪製小Rects。然而,當程序結束時,只有一個小的Rect繪製,這是最後一個繪製的,它的顏色對應於從文件中讀取的第一個值。
下面是我的一些代碼,向你展示我的意思:
public SnapshotDraw(Context context) {
super(context);
for(int a = 0; a < 63; a++){
for(int b = 0; b < 63; b++){
fileName = PREFIX + "2" + EXTENSION;
try {
bf = new BufferedReader(new FileReader(fileName));
tokens = new StringTokenizer(bf.readLine(), " \n");
weight = Byte.parseByte(tokens.nextToken());
x_scalar = b*MAG;
y_scalar = a*MAG;
mDrawable = new ShapeDrawable(new RectShape());
mDrawable.getPaint().setColor(colour.getColour(weight));
mDrawable.setBounds((X_OFFSET + x_scalar), (Y_OFFSET + y_scalar), ((MAG + X_OFFSET) + x_scalar), ((MAG + Y_OFFSET) + y_scalar));
} catch (FileNotFoundException ex) {
Logger.getLogger(NetworkUtilities.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(NetworkUtilities.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
protected void onDraw(Canvas canvas) {
mDrawable.draw(canvas);
}
這除了是延伸查看,被稱爲一個活動的onCreate()
方法中的一類。
我會很感激任何指導,並提前致謝!
乾杯。
好吧,所以我把令牌線放在外部for循環中,它返回一個正方形的最終位置,正確的顏色對應的是在數據文件中的位置......所以一個問題下來,一個仍然要去!爲什麼這段代碼只打印出1個Rect(最後一個Rect)而不是全部? – travega 2010-08-07 15:20:00