sp_settings 1.0.6 copy "sp_settings: ^1.0.6" to clipboard
sp_settings: ^1.0.6 copied to clipboard

outdated

A Flutter settings screen package with Shared Preferences integration.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:sp_settings/fields/button_settings_field.dart';
import 'package:sp_settings/fields/popup_settings_field.dart';
import 'package:sp_settings/settings_category.dart';
import 'package:sp_settings/fields/settings_field.dart';
import 'package:sp_settings/fields/switch_settings_field.dart';
import 'package:sp_settings/settings_list.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Settings Form',
      theme: ThemeData(primarySwatch: Colors.blue),
      home: const MyHomePage(title: 'Settings Form Demo'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: ListView(
        children: [
          const SettingsCategory(
              title: 'General',
              settingsList: SettingsList([
                SwitchSettingsField(
                  SettingsField(
                    title: 'Example',
                    description: 'This is an example.',
                    icon: Icons.add,
                  ),
                  prefKey: 'example1',
                ),
              ])),
          SettingsCategory(
            title: 'Other',
            settingsList: SettingsList([
              const SwitchSettingsField(
                SettingsField(
                  title: 'Long text switch',
                  description:
                      'This is an example. The description is a lot longer. It is very very long. It reaches three lines.',
                  icon: Icons.folder,
                ),
                prefKey: 'example2',
              ),
              ButtonSettingsField(
                const SettingsField(
                  title: 'Clickable',
                  description: 'Here is a button setting that can be clicked.',
                  icon: Icons.person_off,
                ),
                onTap: () {},
              ),
              const PopupSettingsField(
                SettingsField(
                  title: 'Pop-up',
                  description: 'Here is a pop-up menu! Select one of these.',
                  icon: Icons.drive_eta,
                ),
                prefKey: 'popup',
                items: {
                  'None': 'null',
                  'Apple': 'a',
                  'Banana': 'b',
                  'Carrot': 'c',
                  'Lemon': 'l',
                  'Strawberry': 's',
                },
              ),
            ]),
          )
        ],
      ),
    );
  }
}
0
likes
0
points
39
downloads

Publisher

verified publishertytydraco.xyz

Weekly Downloads

A Flutter settings screen package with Shared Preferences integration.

Repository

License

unknown (license)

Dependencies

flutter, shared_preferences

More

Packages that depend on sp_settings