input_type_field 1.0.0
input_type_field: ^1.0.0 copied to clipboard
A multi platform input type. With current keyboard type parameter input fields will force you to enter only digits (for example) but this is not the case when executing your code on the web or on desk [...]
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:input_type_field/widgets/cupertino_text_type.dart';
import 'package:input_type_field/widgets/material_text_type.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Text Field Type Package',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Scaffold(
body: MaterialFormExample(),
),
);
}
}
class MaterialFormExample extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
width: MediaQuery.of(context).size.width,
color: Colors.white,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
width: 200,
child: MaterialTextType(
textField: TextField(
decoration: InputDecoration(hintText: "Name & lastname"),
)),
),
SizedBox(
height: 20,
),
Container(
width: 200,
child: MaterialTextType(
textField: TextField(
decoration: InputDecoration(hintText: "Adress"),
)),
),
SizedBox(
height: 20,
),
Container(
width: 200,
child: MaterialTextType.integer(
textField: TextField(
decoration: InputDecoration(hintText: "Age"),
onChanged: (value) {
print(value);
},
)),
),
SizedBox(
height: 20,
),
Container(
width: 200,
child: MaterialTextType.datetime(
textField: TextField(
decoration: InputDecoration(hintText: "Birthday"),
)),
),
SizedBox(
height: 20,
),
Container(
width: 200,
child: MaterialTextType.phone(
textField: TextField(
decoration: InputDecoration(hintText: "Phone number"),
)),
),
],
),
);
}
}
class CupertinoFormExample extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
width: MediaQuery.of(context).size.width,
color: Colors.white,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
width: 200,
child: CupertinoTextType(
cupertinoTextField: CupertinoTextField(
placeholder: "Product Name",
)),
),
SizedBox(
height: 20,
),
Container(
width: 200,
child: CupertinoTextType.number(
cupertinoTextField: CupertinoTextField(
placeholder: "Product Price",
)),
),
SizedBox(
height: 20,
),
Container(
width: 200,
child: CupertinoTextType.datetime(
cupertinoTextField: CupertinoTextField(
placeholder: "Product Date",
)),
),
SizedBox(
height: 20,
),
Container(
width: 200,
child: CupertinoTextType.phone(
cupertinoTextField: CupertinoTextField(
placeholder: "Phone number",
)),
),
],
),
);
}
}