Метод, позволяющий одному дочернему представлению переполнять границы группы просмотра? - PullRequest
5 голосов
/ 06 ноября 2011

Следующий снимок экрана иллюстрирует простой пример того, что у меня сейчас есть:

enter image description here

Чего бы я хотел добиться, так это чтобы выбранный (синий) вид не обрезалсяна границе красного контейнера.Моя первая попытка была clipChildren = "false", которая заставляет синий вид расширяться за пределы его границ, заполняя красную область.Я просто хочу увидеть участок, перекрывающий зеленую область.

Ответы [ 2 ]

1 голос
/ 06 ноября 2011

Я думаю, вам придется поместить голубой поверх красного и зеленого. Вы не можете иметь ребенка за пределами его родительской ViewGroup (AFAIK). Вам нужно будет изменить дизайн вашего макета.

Получить то, что вы хотите, должно быть довольно легко. Я не использую графический дизайнер, поэтому мне нужен XML.

FrameLayout с LinearLayout внутри, чтобы показать красный / зеленый, затем еще один линейный или относительный после первого LinearyLayout (внутри FrameLayout). С LinearLayout я выровняю вправо и добавлю синему элементу отступ.

Возможно, все это можно сделать с помощью RelativeLayout, но я стараюсь держаться от этого подальше.

0 голосов
/ 06 ноября 2011

По сути, вы ищете перекрывающиеся представления.Это можно сделать с помощью FrameLayout .Для получения информации о том, как это сделать, пожалуйста, проверьте этот пример .

...