contactor_picker 0.0.6 copy "contactor_picker: ^0.0.6" to clipboard
contactor_picker: ^0.0.6 copied to clipboard

A Flutter plugin to provide a form like a contact selector.Writted with pure dart, supported both iOS and Android...

example/lib/main.dart

import 'package:contactor_picker_example/data_util.dart';
import 'package:flutter/material.dart';
import 'package:contactor_picker/contactor_picker.dart';

void main() {
  runApp(MaterialApp(home: MyApp()));
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  void initState() {
    super.initState();
  }

  late String _currentData = '';

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Plugin example app'),
      ),
      body: ContactorView(
        dataList: DataUtil.dataList.map((element) {
          String pinyin = PinyinHelper.getPinyinE(element['name'],
              separator: " ",
              defPinyin: '#',
              format: PinyinFormat.WITHOUT_TONE);
          return ContactorDataListData(
            name: element['name'],
            id: int.tryParse(element['zip']),
            pinyin: pinyin,
            headerImageUrl: 'https://picsum.photos/250?image=9',
            code: element['label'],
            groupCode: element['zip'],
          );
        }).toList(),
        canPop: false,
        onSelectedData: (ContactorDataListData data) {
          print('${data.toString()}');
        },
      ),
      // body: Center(
      //   child: Column(
      //     mainAxisAlignment: MainAxisAlignment.center,
      //     children: [
      //       TextButton(
      //         onPressed: () {
      //           ContactorPicker.showPicker(
      //             context,
      //             showGroupCode: true,
      //             dataList: DataUtil.dataList.map((element) {
      //               String pinyin = PinyinHelper.getPinyinE(element['name'],
      //                   separator: " ",
      //                   defPinyin: '#',
      //                   format: PinyinFormat.WITHOUT_TONE);
      //               return ContactorDataListData(
      //                 name: element['name'],
      //                 id: int.tryParse(element['zip']),
      //                 pinyin: pinyin,
      //                 headerImageUrl: 'https://picsum.photos/250?image=9',
      //                 code: element['label'],
      //                 groupCode: element['zip'],
      //               );
      //             }).toList(),
      //             title: '地址簿',
      //             // backgroundColor: Color(0xFFFAFAFA),
      //             letterSelectedColor: Colors.blueAccent,
      //             onSelectedData: (data) {
      //               print(data.toJson());
      //               _currentData = data.toJson().toString();
      //               setState(() {});
      //             },
      //           );
      //         },
      //         child: Text('地址簿'),
      //       ),
      //       TextButton(
      //         onPressed: () {
      //           ContactorPicker.showSearchPicker(
      //             context,
      //             showGroupCode: true,
      //             dataList: DataUtil.dataList.map((element) {
      //               String pinyin = PinyinHelper.getPinyinE(element['name'],
      //                   separator: " ",
      //                   defPinyin: '#',
      //                   format: PinyinFormat.WITHOUT_TONE);
      //               return ContactorDataListData(
      //                 name: element['name'],
      //                 id: int.tryParse(element['zip']),
      //                 pinyin: pinyin,
      //                 code: element['label'],
      //                 groupCode: element['zip'],
      //               );
      //             }).toList(),
      //             backgroundColor: Color(0xFFFAFAFA),
      //             onSelectedData: (data) {
      //               print(data.toJson());
      //               _currentData = data.toJson().toString();
      //               setState(() {});
      //             },
      //           );
      //         },
      //         child: Text('搜索'),
      //       ),
      //       Container(
      //         padding: EdgeInsets.symmetric(horizontal: 30),
      //         child: Text('currentData: $_currentData\n'),
      //       ),
      //     ],
      //   ),
      // ),
    );
  }
}
5
likes
140
points
18
downloads

Publisher

verified publishersong.sjhw.xyz

Weekly Downloads

A Flutter plugin to provide a form like a contact selector.Writted with pure dart, supported both iOS and Android...

Repository (GitHub)
View/report issues

Documentation

API reference

License

Apache-2.0 (license)

Dependencies

flutter, lpinyin

More

Packages that depend on contactor_picker