Я очень новичок в разработке для Android и пытался нарисовать квадрат, состоящий из множества меньших прямоугольников разных цветов ... По сути, как мозаика.
В основном на данный момент я читаю значения из файла, который назначает цвет меньшим объектам. Я использую пару вложенных циклов 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);
}
Это исключение из класса, который расширяет View и вызывается внутри метода onCreate()
в Activity.
Буду признателен за любые указания в этом, и заранее спасибо !!
Приветствие.