textField method

Widget textField(
  1. TextEditingController controller,
  2. dynamic onChanged(
    1. String value
    )
)

Implementation

Widget textField(
  TextEditingController controller,
  Function(String value) onChanged,
) {
  final textFieldSuffix = Padding(
    padding: const EdgeInsets.all(8.0),
    child: Card(
      color: Colors.blueGrey.withOpacity(.15),
      elevation: 0,
      child: Padding(
        padding: const EdgeInsets.symmetric(horizontal: 4, vertical: 2),
        child: ValueListenableBuilder<int>(
            valueListenable: percent,
            builder: (context, value, _) => Text("$value%")),
      ),
    ),
  );
  final textField = CupertinoTextField(
    maxLines: 1,
    onChanged: onTextFieldChanged,
    textInputAction: TextInputAction.done,
    padding: EdgeInsets.symmetric(vertical: 12, horizontal: 8),
    controller: controller,
    keyboardType: TextInputType.number,
    inputFormatters: [FilteringTextInputFormatter.allow(RegExp(r'[0-9]*.*'))],
    suffix: textFieldSuffix,
    style: TextStyle(color: Colors.blueGrey.shade700),
    decoration: BoxDecoration(
        borderRadius: BorderRadius.circular(6),
        border: Border.all(color: Colors.blue.withOpacity(.3))),
  );
  return textField;
}