Skip to content

Repository files navigation

flutter_picker

pub packageGitHubGitHub stars

Flutter plugin picker. Include NumberPicker, DateTimePicker, ArrayPicker, and default linkage Picker. Provide flexible parameters to meet various needs. At the same time, you can extend more functions through custom adapters.

Supported Platforms

  • Android
  • IOS

image

How to Use

# add this line to your dependenciesflutter_picker:
git: git://github.com/yangyxd/flutter_picker.git
import'package:flutter_picker/flutter_picker.dart';
showPicker(BuildContext context) {
Picker picker =newPicker(
adapter:PickerDataAdapter<String>(pickerdata:newJsonDecoder().convert(PickerData)),
changeToFirst:true,
textAlign:TextAlign.left,
columnPadding:constEdgeInsets.all(8.0),
onConfirm: (Picker picker, List value) {
print(value.toString());
print(picker.getSelectedValues());
}
);
picker.show(_scaffoldKey.currentState);
}
showPickerModal(BuildContext context) {
newPicker(
adapter:PickerDataAdapter<String>(pickerdata:newJsonDecoder().convert(PickerData)),
changeToFirst:true,
hideHeader:false,
onConfirm: (Picker picker, List value) {
print(value.toString());
print(picker.adapter.text);
}
).showModal(this.context); //_scaffoldKey.currentState);
}
showPickerIcons(BuildContext context) {
newPicker(
adapter:PickerDataAdapter(data: [
newPickerItem(text:Icon(Icons.add), value:Icons.add, children: [
newPickerItem(text:Icon(Icons.more)),
newPickerItem(text:Icon(Icons.aspect_ratio)),
newPickerItem(text:Icon(Icons.android)),
newPickerItem(text:Icon(Icons.menu)),
]),
newPickerItem(text:Icon(Icons.title), value:Icons.title, children: [
newPickerItem(text:Icon(Icons.more_vert)),
newPickerItem(text:Icon(Icons.ac_unit)),
newPickerItem(text:Icon(Icons.access_alarm)),
newPickerItem(text:Icon(Icons.account_balance)),
]),
newPickerItem(text:Icon(Icons.face), value:Icons.face, children: [
newPickerItem(text:Icon(Icons.add_circle_outline)),
newPickerItem(text:Icon(Icons.add_a_photo)),
newPickerItem(text:Icon(Icons.access_time)),
newPickerItem(text:Icon(Icons.adjust)),
]),
newPickerItem(text:Icon(Icons.linear_scale), value:Icons.linear_scale, children: [
newPickerItem(text:Icon(Icons.assistant_photo)),
newPickerItem(text:Icon(Icons.account_balance)),
newPickerItem(text:Icon(Icons.airline_seat_legroom_extra)),
newPickerItem(text:Icon(Icons.airport_shuttle)),
newPickerItem(text:Icon(Icons.settings_bluetooth)),
]),
newPickerItem(text:Icon(Icons.close), value:Icons.close),
]),
title:newText("Select Icon"),
onConfirm: (Picker picker, List value) {
print(value.toString());
print(picker.getSelectedValues());
}
).show(_scaffoldKey.currentState);
}
showPickerDialog(BuildContext context) {
newPicker(
adapter:PickerDataAdapter<String>(pickerdata:newJsonDecoder().convert(PickerData)),
hideHeader:true,
title:newText("Select Data"),
onConfirm: (Picker picker, List value) {
print(value.toString());
print(picker.getSelectedValues());
}
).showDialog(context);
}
showPickerArray(BuildContext context) {
newPicker(
adapter:PickerDataAdapter<String>(pickerdata:newJsonDecoder().convert(PickerData2), isArray:true),
hideHeader:true,
title:newText("Please Select"),
onConfirm: (Picker picker, List value) {
print(value.toString());
print(picker.getSelectedValues());
}
).showDialog(context);
}
showPickerNumber(BuildContext context) {
newPicker(
adapter:NumberPickerAdapter(data: [
NumberPickerColumn(begin:0, end:999),
NumberPickerColumn(begin:100, end:200),
]),
delimiter: [
PickerDelimiter(child:Container(
width:30.0,
alignment:Alignment.center,
child:Icon(Icons.more_vert),
))
],
hideHeader:true,
title:newText("Please Select"),
onConfirm: (Picker picker, List value) {
print(value.toString());
print(picker.getSelectedValues());
}
).showDialog(context);
}

PickerData Example

Array

constPickerData2='''[ [ 1, 2, 3, 4 ], [ 11, 22, 33, 44 ], [ "aaa", "bbb", "ccc" ]] ''';

Linkage

constPickerData='''[ { "a": [ { "a1": [ 1, 2, 3, 4 ] }, { "a2": [ 5, 6, 7, 8 ] }, { "a3": [ 9, 10, 11, 12 ] } ] }, { "b": [ { "b1": [ 11, 22, 33, 44 ] }, { "b2": [ 55, 66, 77, 88 ] }, { "b3": [ 99, 1010, 1111, 1212 ] } ] }, { "c": [ { "c1": [ "a", "b", "c" ] }, { "c2": [ "aa", "bb", "cc" ] }, { "c3": [ "aaa", "bbb", "ccc" ] } ] }] ''';

About

Flutter picker plugin

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages