labelLayer method

  1. @override
Widget labelLayer(
  1. KeyFaceMotion motion,
  2. KeyFaceSpec spec,
  3. Widget label
)
override

The label rides on the cap: centred on it at rest, travelling down.

Implementation

@override
Widget labelLayer(KeyFaceMotion motion, KeyFaceSpec spec, Widget label) =>
    LayoutBuilder(
      builder: (context, constraints) {
        final d = travelFor(constraints.biggest);
        return PressTranslate(
          press: motion.press,
          rest: Offset(0, -d / 2),
          travel: Offset(0, d),
          reduceMotion: spec.reduceMotion,
          child: label,
        );
      },
    );