Пример #1
0
        /// <summary>
        /// Get this BottomBar's height (or width), depending if the BottomBar
        /// is on the bottom (phones) or the left (tablets) of the screen.
        /// </summary>
        /// <param name="listener">listener <see cref="IOnSizeDeterminedListener"/> to get the size when it's ready.</param>
        public void GetBarSize(IOnSizeDeterminedListener listener)
        {
            int sizeCandidate = _isTabletMode ? OuterContainer.Width : OuterContainer.Height;

            if (sizeCandidate == 0)
            {
                OuterContainer.ViewTreeObserver.AddOnGlobalLayoutListener(new BarSizeOnGlobalLayoutListener(listener, _isTabletMode, OuterContainer));
                return;
            }

            listener.OnSizeReady(sizeCandidate);
        }
 public BarSizeOnGlobalLayoutListener(IOnSizeDeterminedListener listener, bool isTabletMode, ViewGroup outerContainer)
 {
     _listener       = listener;
     _isTabletMode   = isTabletMode;
     _outerContainer = outerContainer;
 }