Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как я могу достичь этого базового макета в Android с правильным z-упорядочением представлений

Автор вопроса: justinlОтветов: 1

Как я могу добиться следующего макета в Android?

Я хотел бы, чтобы 3 синих прямоугольника были выровнены сверху в их представлении, а затем я хотел бы, чтобы красный прямоугольник был в центре под синими прямоугольниками, но так, чтобы, когда я анимирую красный прямоугольник вверх, он скользил под синяя коробка.

Я пробовал размещать синие и красные блоки в разных макетах, но как только я анимирую красный блок, если он выходит за границы своего макета, он исчезает (я не хочу, чтобы макет красного блока обрезал красный поле, я хочу, чтобы красное поле скользнуло под синее поле так, чтобы синее поле закрывало красное поле.)

Мне также удалось создать этот макет, используя серию вложенных макетов, но из-за порядка отрисовки красный прямоугольник всегда появляется поверх синего прямоугольника. Я попытался использовать метод BringToFront(), но обнаружил, что он работает только с одноуровневыми представлениями в пределах одного макета. К сожалению, я не могу получить этот тип макета, сохраняя все 4 представления в одном и том же макете. Какие-либо предложения? (также, если у кого-то есть лучшие предложения по названию этого вопроса, я все уши)

альтернативный текст

androidanimationviewlayoutz-order

Ответы

Ответ 1 · рейтинг 2 · WarrenFaith

попробуйте использовать RelativeLayout. Если вы знаете высоту синего прямоугольника, вы всегда можете сначала нарисовать красный прямоугольник, а затем добавить синий прямоугольник в свой макет, чтобы убедиться, что синий прямоугольник всегда находится поверх красного.

Вы также можете рассмотреть возможность использования SurfaceView, где вы можете легко заказывать товары и без какого-либо определения xml...

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы