public override void OnViewDragStateChanged(int state)
{
var anchoredTop = (int)(_panelLayout._anchorPoint * _panelLayout._slideRange);
if (_panelLayout._dragHelper.ViewDragState == ViewDragHelper.StateIdle)
{
if (FloatNearlyEqual(_panelLayout._slideOffset, 0))
{
if (_panelLayout._slideState != SlideState.Expanded)
{
_panelLayout.UpdateObscuredViewVisibility();
_panelLayout.OnPanelExpanded(_panelLayout._slideableView);
_panelLayout._slideState = SlideState.Expanded;
}
}
else if (FloatNearlyEqual(_panelLayout._slideOffset, (float)anchoredTop / _panelLayout._slideRange))
{
if (_panelLayout._slideState != SlideState.Anchored)
{
_panelLayout.UpdateObscuredViewVisibility();
_panelLayout.OnPanelAnchored(_panelLayout._slideableView);
_panelLayout._slideState = SlideState.Anchored;
}
}
else if (_panelLayout._slideState != SlideState.Collapsed)
{
_panelLayout.OnPanelCollapsed(_panelLayout._slideableView);
_panelLayout._slideState = SlideState.Collapsed;
}
}
}