protected LayoutObserver(View view, bool treeObserver)
 {
     _viewReference = ServiceProvider.WeakReferenceFactory(view);
     if (!treeObserver && Build.VERSION.SdkInt >= BuildVersionCodes.Honeycomb)
         view.AddOnLayoutChangeListener(this);
     else
     {
         var viewTreeObserver = view.ViewTreeObserver;
         if (viewTreeObserver.IsAlive)
             viewTreeObserver.AddOnGlobalLayoutListener(this);
     }
 }
Exemple #2
0
        void AddRipple()
        {
            if (Element is Layout) {
                _rippleOverlay = new FrameLayout(Container.Context);
                _rippleOverlay.LayoutParameters = new ViewGroup.LayoutParams(-1, -1);

                _rippleListener = new ContainerOnLayoutChangeListener(_rippleOverlay);
                _view.AddOnLayoutChangeListener(_rippleListener);

                (_view as ViewGroup).AddView(_rippleOverlay);

                _rippleOverlay.BringToFront();

                _rippleOverlay.Foreground = CreateRipple(Color.Accent.ToAndroid());
            }
            else {
                _orgDrawable = _view.Background;
                _view.Background = CreateRipple(Color.Accent.ToAndroid());
            }
        }