Как донести взгляд до всего? - PullRequest
106 голосов
/ 20 июля 2011

У меня есть активность и много виджетов, некоторые из них имеют анимацию, и из-за анимации некоторые виджеты перемещаются (переводятся) друг на друга. Например, текстовое представление перемещается по некоторым кнопкам. , .

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

Я не могу добиться этого, я перепробовал все, что знаю, и «takeToFront ()» определенно не работает.

примечание: я не хочу управлять z-порядком по порядку размещения элемента в макете, потому что я просто не могу :), макет сложный, и я не могу разместить все кнопки в начале макета

Ответы [ 14 ]

0 голосов
/ 09 апреля 2019

Просто добавьте android: elevation = "2dp" в ваш XML-файл. Это работает для меня ..

0 голосов
/ 11 августа 2017

Если вы используете LinearLayout, вам следует позвонить myView.bringToFront(), а после вызвать parentView.requestLayout() и parentView.invalidate(), чтобы заставить родителя перерисовать новый дочерний порядок.

0 голосов
/ 04 января 2012

Вам нужно использовать framelayout.И лучший способ сделать это - сделать представление невидимым, когда оно не требуется.Также вам нужно установить позицию для каждого вида, чтобы они двигались в соответствии с соответствующей позицией

0 голосов
/ 20 июля 2011

Вы можете установить видимость в ложь других представлений.

view1.setVisibility(View.GONE);
view2.setVisibility(View.GONE);
...

или

view1.setVisibility(View.INVISIBLE);
view2.setVisibility(View.INVISIBLE);
...

и набор

viewN.setVisibility(View.VISIBLE);
...