[Android] Как рисовать в Relativelayout?

Здравствуйте.

Не могу разобраться с рисованием примитивов (линии, фигуры, текст) в Relativelayout.

Согласно разметки XML у меня два Relativelayout:

1. Идет в активити - layoutAll
2. Идет в layoutAll - layotTop

Я хочу нарисовать линию/фигуру/текст в layotTop.

В найденных мной уроках рассматривается только рисование в Активити.

Можете подсказать пример или шаблон отрисовки примитивов в layout?
  • Вопрос задан
  • 3896 просмотров
Решения вопроса 1
@bracadabra
Если я правильно понял вопрос, то делается это примерно так:
public class MyClass extends RelativeLayout {
 
 private RectF mBounds = new RectF(0, 0, 0, 0);

private Paint mPaint = new Paint();

  public MyClass(final Context context, final AttributeSet attrs, final int defStyle) {
        super(context, attrs, defStyle);
        setWillNotDraw(false); //разрешаем рисовать в ViewGroup
        mPaint.setColor(Color.RED);
        mPaint.setStyle(Paint.Style.FILL);
        mPaint.setAntiAlias(true);
    }

    @Override
    protected void onSizeChanged(final int width, final int height, final int oldw,
            final int oldh) {      
        mBounds.left = 0;
        mBounds.top = 0;
        mBounds.right = width;
        mBounds.bottom = height;
    }

    @Override
    public void onDraw(final Canvas canvas) {
        super.onDraw(canvas);

        canvas.drawOval(mBounds, mPaint);
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы