angola_province_picker 1.1.2 copy "angola_province_picker: ^1.1.2" to clipboard
angola_province_picker: ^1.1.2 copied to clipboard

Um pacote Flutter para selecionar províncias e municípios de Angola com suporte a Material e Cupertino.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:angola_province_picker/angola_province_picker.dart';

void main() {
  runApp(const MyApp());
}

/// Exemplo de uso do pacote angola_province_picker com suporte aos modos
/// Material (Dropdown) e Cupertino (iOS).
class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'Angola Province Picker Demo',
      theme: ThemeData(primarySwatch: Colors.blue),
      home: const PickerDemoPage(),
    );
  }
}

class PickerDemoPage extends StatefulWidget {
  const PickerDemoPage({super.key});

  @override
  State<PickerDemoPage> createState() => _PickerDemoPageState();
}

class _PickerDemoPageState extends State<PickerDemoPage> {
  AngolaPickerMode _mode = AngolaPickerMode.dropdown;
  String? selectedProvince;
  String? selectedTown;

  void _switchMode() {
    setState(() {
      _mode = _mode == AngolaPickerMode.dropdown
          ? AngolaPickerMode.cupertino
          : AngolaPickerMode.dropdown;
      // Reset ao alternar o modo
      selectedProvince = null;
      selectedTown = null;
    });
  }

  @override
  Widget build(BuildContext context) {
    final isCupertino = _mode == AngolaPickerMode.cupertino;

    return Scaffold(
      appBar: AppBar(
        centerTitle: true,
        title: const Text(
          'Selecionar Província e Município',
          style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
        ),
        actions: [
          IconButton(
            tooltip: isCupertino
                ? 'Mudar para Dropdown'
                : 'Mudar para Cupertino',
            icon: Icon(
              isCupertino ? Icons.android : Icons.phone_iphone,
              size: 40,
            ),
            onPressed: _switchMode,
          ),
        ],
      ),

      body: SafeArea(
        child: ListView(
          padding: const EdgeInsets.all(40),
          children: [
            SizedBox(height: 100),
            AngolaProvincePicker(
              mode: _mode,
              selected: selectedProvince,
              hint: 'Escolha uma província',
              onChanged: (value) {
                setState(() {
                  selectedProvince = value;
                  selectedTown = null;
                });
              },
            ),
            const SizedBox(height: 24),
            if (selectedProvince != null)
              AngolaTownPicker(
                mode: _mode,
                province: selectedProvince!,
                selected: selectedTown,
                hint: 'Escolha um município',
                onChanged: (value) {
                  setState(() {
                    selectedTown = value;
                  });
                },
              ),
            const SizedBox(height: 24),
          ],
        ),
      ),
    );
  }
}
0
likes
160
points
72
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Um pacote Flutter para selecionar províncias e municípios de Angola com suporte a Material e Cupertino.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter

More

Packages that depend on angola_province_picker