代码之家  ›  专栏  ›  技术社区  ›  rob

使用bringchildtofront()设置Z视图顺序

  •  12
  • rob  · 技术社区  · 15 年前

    我试图设置一个UI元素(即视图)的z顺序,以便它与另一个元素重叠,但是调用viewGroup.bringChildTofront()有一个奇怪的副作用……它将元素移动到父元素(viewGroup)中的最后一个项目。这是一个bug,预期行为,还是什么?更重要的是,如果没有这种不幸的副作用,如何设置z顺序或视图?

    3 回复  |  直到 10 年前
        1
  •  19
  •   Romain Guy    15 年前

        2
  •  14
  •   GreyCat    10 年前

    private void moveToBack(View currentView) {
        ViewGroup viewGroup = ((ViewGroup) currentView.getParent());
        int index = viewGroup.indexOfChild(currentView);
        for(int i = 0; i<index; i++) {
            viewGroup.bringChildToFront(viewGroup.getChildAt(i));
        }
    }
    
        3
  •  0
  •   Hussain Istinra    14 年前

    bringChildToFront(child)

    showNext() showprevious()

    setDisplayedChild() indexOfChild()

    vf.setDisplayedChild(vf.indexOfChild(child));