preferences

Create Preference Screens easily with advanced features and subpages

Features

  • Easy addition of preferences

  • Subpages

  • Customization options

  • Hide preferences dynamically

  • Reset state on Exception

Installing

You should ensure that you add preferences as a dependency in your flutter project.

dependencies:
  preferences: '^1.0.8'

Then run flutter packages get to get the package.

Usage

Change your main method to

import 'package:preferences/preferences.dart';

main() async {
  await PrefService.init(prefix: 'pref_');
  runApp(MyApp());
}

And then you can use the widgets

return Scaffold(
      appBar: AppBar(
        title: Text('Preferences Demo'),
      ),
      body: PreferencePage([
        PreferenceTitle('General'),
        DropdownPreference(
          'Start Page',
          'start_page',
          defaultVal: 'Timeline',
          values: ['Posts', 'Timeline', 'Private Messages'],
        ),
        PreferenceTitle('Personalization'),
        RadioPreference(
          'Light Theme',
          'light',
          'ui_theme',
          isDefault: true,
        ),
        RadioPreference(
          'Dark Theme',
          'dark',
          'ui_theme',
        ),
      ]),
    );

Look at the example for more information.

Libraries

checkbox_preference
preference_hider
preference_page
preference_service
preference_text
preference_title
preferences
radio_preference
switch_preference

Dart

dart:ui
Built-in types and core primitives for a Flutter application. [...]

Core

dart:async
Support for asynchronous programming, with classes such as Future and Stream. [...]
dart:collection
Classes and utilities that supplement the collection support in dart:core. [...]
dart:convert
Encoders and decoders for converting between different data representations, including JSON and UTF-8. [...]
dart:core
Built-in types, collections, and other core functionality for every Dart program. [...]
dart:developer
Interact with developer tools such as the debugger and inspector. [...]
dart:math
Mathematical constants and functions, plus a random number generator. [...]
dart:typed_data
Lists that efficiently handle fixed sized data (for example, unsigned 8 byte integers) and SIMD numeric types. [...]

VM

dart:io
File, socket, HTTP, and other I/O support for non-web applications. [...]
dart:isolate
Concurrent programming using isolates: independent workers that are similar to threads but don't share memory, communicating only via messages. [...]