Я пытаюсь нарисовать несколько прямоугольников внутри линейного макета, который находится внутри прокрутки. Это мой код для представления прямоугольника:Рисование нескольких прямоугольников внутри линейного макета
private class RectView extends View{
int leftX, rightX, topY, bottomY;
boolean isAppt;
private Paint rectPaint;
private Rect rectangle;
public RectView(Context context, int _leftX, int _rightX, int _topY, int _bottomY, boolean _isAppt){
super(context);
leftX = _leftX;
rightX = _rightX;
topY = _topY;
bottomY = _bottomY;
isAppt = _isAppt;
init();
}
private void init(){
rectPaint = new Paint();
if(isAppt){
rectPaint.setARGB(255, 0, 0, 255);
rectPaint.setColor(Color.BLUE);
}
else{
rectPaint.setARGB(255, 0, 0, 0);
rectPaint.setColor(Color.WHITE);
}
rectPaint.setStrokeWidth(2);
rectPaint.setStyle(Style.STROKE);
rectangle = new Rect(leftX, topY, rightX, bottomY);
}
protected void onDraw(Canvas canvas){
super.onDraw(canvas);
canvas.drawRect(rectangle, rectPaint);
}
}
И это, как я в настоящее время пытаюсь отобразить прямоугольники:
RectView rv = new RectView(context, 0, 100, 0, 100, true);
firstDemarc.addView(rv);
firstDemarc.postInvalidate();
firstDemarc является линейной компоновкой внутри моего Scrollview. В настоящее время я не вижу никаких прямоугольников. Функция onDraw не вызывается. Как правильно отображать прямоугольники внутри моего scrollview?
Это сработало! Спасибо. – SecretBit