private void init(){ mMenuMarginRect = new Rect(); mMenuPaddingRect = new Rect(); mBackgroundView = new BackgroundView(mRootView.getContext()); mBackgroundView.setOnClickListener(mBackgroundViewClickListener); mMenuView = new MenuView(mBackgroundView.getContext()); mMenuView.setItemClickListener(mItemClickListener); mMenuView.setItemTouchListener(mItemTouchListener); if (ViewUtils.isAttachedToWindow(mRootView)){ addBackgroundViewToRootView(); }else{ mRootView.getViewTreeObserver().addOnGlobalLayoutListener(mRootViewGlobalLayoutListener); } }