Last updated:
0 purchases
emoji pick
Flutter Emoji #
A Flutter package that provides an Emoji.
Usage #
To use this plugin, add emoji_pick as dependency in your pubspec.yaml file.
Output #
![](https://raw.githubusercontent.com/asif4483/emoji_pick/master/emoji_pick3`enter code here`.jpg)
Sample Usage #
import 'package:flutter/material.dart';
import 'emojis.dart';
void main() {
runApp(MaterialApp(
home: MyApp(),
));
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
List<String> _messages = [];
String _message = '';
//MOST IMP
var emojiheight = 0.0;
TextEditingController textFieldController;
@override
void initState() {
// TODO: implement initState
super.initState();
textFieldController = new TextEditingController()
..addListener(() {
setState(() {
_message = textFieldController.text;
});
});
}
@override
Widget build(BuildContext context) {
List<String> _tabsname = [
"Face",
"Fruits",
"Fruits",
"Asif"];
List<dynamic> _tabsemoji = [
["☕","❤","☕","☕","☕","❤"],
["☕","❤","☕","☕","☕","❤","☕","❤","☕","☕","☕","❤"],
["☕","❤","☕","☕","☕","❤","☕","❤","☕","☕","☕","❤","☕","❤","☕","☕","☕","❤","☕","❤","☕","☕","☕","❤"]
];
return Scaffold(
backgroundColor: Colors.white,
appBar: AppBar(title: Text("Emoji Demo"),),
body: Column(
children: <Widget>[
Expanded(child: _messages.length !=0 ? ListView.builder(itemBuilder: (BuildContext contx,int index){
return Container(
padding: EdgeInsets.all(10),
child: Text(_messages.elementAt(index),style: TextStyle(fontSize: 27),),
);
},itemCount: _messages.length,)
: Center(child: Text("Send some MSG"),)),
Padding(
padding: const EdgeInsets.all(8.0),
child: Row(
mainAxisSize: MainAxisSize.max,
children: <Widget>[
Flexible(
flex: 1,
child: Container(
decoration: BoxDecoration(
borderRadius:
BorderRadius.all(const Radius.circular(30.0)),
color: Colors.white,
boxShadow: [
new BoxShadow(color: Colors.black12,blurRadius: 10,spreadRadius: 4)
]
),
child: Row(
children: <Widget>[
IconButton(
padding: const EdgeInsets.all(0.0),
splashColor: Colors.white,
hoverColor: Colors.white,
highlightColor: Colors.white,
disabledColor: Colors.grey,
color: Colors.blue,
icon: Icon(Icons.insert_emoticon),
onPressed: () {
//MOST IMP
if(emojiheight == 0.0){
setState(() {
emojiheight = 255.0;
});
}
else{
setState(() {
emojiheight = 0.0;
});
}
},
),
Flexible(
child: TextField(
controller: textFieldController,
onTap: (){
//MOST IMP
setState(() {
emojiheight = 0.0;
});
},
textCapitalization: TextCapitalization.sentences,
decoration: InputDecoration(
border: InputBorder.none,
contentPadding: const EdgeInsets.all(0.0),
hintText: 'Type a message',
hintStyle: TextStyle(
fontSize: 16.0,
),
counterText: '',
),
keyboardType: TextInputType.multiline,
maxLines: null,
maxLength: 100,
),
),
],
),
),
),
Padding(
padding: const EdgeInsets.only(left: 4.0),
child: FloatingActionButton(
elevation: 2.0,
backgroundColor: Colors.blue,
foregroundColor: Colors.white,
child: Icon(Icons.send),
onPressed: (){
setState(() {
_messages.add(textFieldController.text.toString());
});
textFieldController.clear();
},
),
)
],
),
),
//MOST IMP
Emojies(
tabsname: _tabsname,
tabsemoji: _tabsemoji,
maxheight: emojiheight,
inputtext: textFieldController,
bgcolor: Colors.white),
],
),
);
}
}
copied to clipboard
See the example directory for the complete sample app.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.