public void UnRegisterForKeyboardNotifications() { disposableWillShow?.Dispose(); disposableWillHide?.Dispose(); disposableWillShow = null; disposableWillHide = null; CurrentViewTreeObserver.RemoveOnGlobalLayoutListener(keyboardListner); keyboardListner = null; }
public void RegisterForKeyboardNotifications() { keyboardListner = keyboardListner ?? new KeyboardListner(); CurrentViewTreeObserver.AddOnGlobalLayoutListener(keyboardListner); willShow = willShow ?? Observable.FromEventPattern <double>(h => keyboardListner.KeyboardWillShow += h, h => keyboardListner.KeyboardWillShow -= h); disposableWillShow = disposableWillShow ?? willShow.Subscribe(ep => KeyboardListner_KeyboardWillShow(ep.Sender, ep.EventArgs)); willHide = willHide ?? Observable.FromEventPattern <double>(h => keyboardListner.KeyboardWillHide += h, h => keyboardListner.KeyboardWillHide -= h); disposableWillHide = disposableWillHide ?? willHide.Subscribe(ep => KeyboardListner_KeyboardWillHide(ep.Sender, ep.EventArgs)); }