textfield_tags 1.4.0
textfield_tags: ^1.4.0 copied to clipboard
A text field that allows an input of tags inside the textfield
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:textfield_tags/textfield_tags.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key}) : super(key: key);
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.white,
title: Text(
'Flutter textfield tags',
style: TextStyle(color: Colors.black),
),
),
body: Container(
padding: const EdgeInsets.all(12.0),
child: TextFieldTags(
initialTags: ["college"],
tagsStyler: TagsStyler(
showHashtag: true,
tagMargin: const EdgeInsets.only(right: 4.0),
tagCancelIcon: Icon(Icons.cancel, size: 15.0, color: Colors.black),
tagCancelIconPadding: EdgeInsets.only(left: 4.0, top: 2.0),
tagPadding:
EdgeInsets.only(top: 2.0, bottom: 4.0, left: 8.0, right: 4.0),
tagDecoration: BoxDecoration(
color: Colors.white,
border: Border.all(
color: Colors.grey.shade300,
),
borderRadius: const BorderRadius.all(
Radius.circular(20.0),
),
),
tagTextStyle:
TextStyle(fontWeight: FontWeight.normal, color: Colors.black),
),
textFieldStyler: TextFieldStyler(
hintText: "Tags",
isDense: false,
textFieldFocusedBorder: UnderlineInputBorder(
borderSide: BorderSide(color: Colors.black, width: 3.0),
),
textFieldBorder: UnderlineInputBorder(
borderSide: BorderSide(color: Colors.black, width: 3.0),
),
),
onDelete: (tag) {
print('onDelete: $tag');
},
onTag: (tag) {
print('onTag: $tag');
},
validator: (String tag) {
print('validator: $tag');
if (tag.length > 10) {
return "hey that is too much";
}
return null;
},
),
),
// This trailing comma makes auto-formatting nicer for build methods.
);
}
}
//Tags eg: university, college, music, math, calculus, computerscience, economics, flutter