Урок 147. Рисование. Region
Добавлено: 17 мар 2014, 03:00
В этом уроке:
- используем Region
Click here to read this article!
- используем Region
Click here to read this article!
Добро пожаловать на форум сайта
http://forum.startandroid.ru/
Чтобы все заработало, достаточно закрыть путь (path). Т.е. в данном примере нужно вместо:RomanNT писал(а):Пример сделан под Build Target: API 10: Android 2.3.3.
Но если поставить Build Target: API 19: Android 4.4 - пример не работает.
Синяя итоговая область региона не выводится.
Т.е., пример работает, если в манифесте:
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="10" />
И не работает, если в манифесте:
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="19" />
Код: Выделить всё
pathDest = region.getBoundaryPath();
Код: Выделить всё
pathDest = region.getBoundaryPath();
pathDest.close();
Код: Выделить всё
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawColor(bgColor);
region.setEmpty();
p.setColor(fgColor);
//рисуем уже упавшие фигуры
for (int row = 1; row < field.length-1; ++row){
for (int column = 1; column < field[row].length-1; ++column){
if (field[row][column]){
region.op(
(BRICK_GAP_SIZE+BRICK_SIZE)*(column - 1),
(BRICK_GAP_SIZE+BRICK_SIZE)*(row - 1),
(BRICK_GAP_SIZE+BRICK_SIZE)*(column) - BRICK_GAP_SIZE,
(BRICK_GAP_SIZE+BRICK_SIZE)*(row) - BRICK_GAP_SIZE, Region.Op.UNION
);
canvas.clipRegion(region);
canvas.drawBitmap(
bitmap,
(BRICK_GAP_SIZE+BRICK_SIZE)*(column - 1),
(BRICK_GAP_SIZE+BRICK_SIZE)*(row - 1),
p);
}
}
}
//рисуем падающие фигуры
figure.DrawFigure(canvas,p,bitmap);
}