RenderToggleable({bool value, Size size, Color activeColor, Color inactiveColor, ValueChanged<bool> onChanged, @required TickerProvider vsync })

Creates a toggleable render object.

The value, activeColor, and inactiveColor arguments must not be null.

Source

RenderToggleable({
  bool value,
  Size size,
  Color activeColor,
  Color inactiveColor,
  ValueChanged<bool> onChanged,
  @required TickerProvider vsync,
}) : _value = value,
     _activeColor = activeColor,
     _inactiveColor = inactiveColor,
     _onChanged = onChanged,
     _vsync = vsync,
     super(additionalConstraints: new BoxConstraints.tight(size)) {
  assert(value != null);
  assert(activeColor != null);
  assert(inactiveColor != null);
  assert(vsync != null);
  _tap = new TapGestureRecognizer()
    ..onTapDown = _handleTapDown
    ..onTap = _handleTap
    ..onTapUp = _handleTapUp
    ..onTapCancel = _handleTapCancel;
  _positionController = new AnimationController(
    duration: _kToggleDuration,
    value: value ? 1.0 : 0.0,
    vsync: vsync,
  );
  _position = new CurvedAnimation(
    parent: _positionController,
    curve: Curves.linear,
  )..addListener(markNeedsPaint)
   ..addStatusListener(_handlePositionStateChanged);
  _reactionController = new AnimationController(
    duration: kRadialReactionDuration,
    vsync: vsync,
  );
  _reaction = new CurvedAnimation(
    parent: _reactionController,
    curve: Curves.fastOutSlowIn,
  )..addListener(markNeedsPaint);
}