Android Custom ViewGroup добавить одного ребенка, прежде чем рисовать других

У меня есть пользовательская ViewGroup, которая содержит ImageView и несколько других TextViews, которые отображают белый текст на изображении. Я хотел бы нарисовать ОДИН темный прямоугольник под всеми текстовыми изображениями, чтобы улучшить контраст.

Для этого в onLayout пользовательской ViewGroup я вычисляю наименьший прямоугольник, содержащий все TextViews. Теперь я понятия не имею, как нарисовать прямоугольник поверх первого дочернего элемента (изображения), но ниже других дочерних элементов - TextViews. Поэтому я хотел бы нарисовать детей в порядке:

  1. ImageView (первый ребенок)
  2. Вычисленный темный Rect
  3. TextViews (все остальные дети)

Я попытался переопределить dispatchDraw(), а затем после вызова super.dispatchDraw (canvas) я нарисовал прямоугольник. Но это, очевидно, поставить прямоугольник над TextViews.

Буду признателен за любую помощь.

Спасибо!

0 ответов

Другие вопросы по тегам