ビューを最前面に表示できない 質問する

ビューを最前面に表示できない 質問する

アニメーション中にいくつかのビューのZオーダーを変更したい

Android 4.1.2 以上では問題なく動作しますが、Android 4.1.2 未満では Z 順序は変更されず、トップ ビューが最上部に残ります。

私が試しているのはこれです。

myView.bringToFront();
((View)myView.getParent()).invalidate();

古いデバイスで動作させるにはどうすればよいですか?

ベストアンサー1

   /**
     * Change the view's z order in the tree, so it's on top of other sibling
     * views. This ordering change may affect layout, if the parent container
     * uses an order-dependent layout scheme (e.g., LinearLayout). Prior
     * to {@link android.os.Build.VERSION_CODES#KITKAT} this
     * method should be followed by calls to {@link #requestLayout()} and
     * {@link View#invalidate()} on the view's parent to force the parent to redraw
     * with the new child ordering.
     *
     * @see ViewGroup#bringChildToFront(View)
     */
    public void bringToFront() {
        if (mParent != null) {
            mParent.bringChildToFront(this);
        }
    }

これによると、私は単に行を見逃していた

((View)myView.getParent()).requestLayout();

そしてそれはうまくいきました!

おすすめ記事