textField method
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;
}