Flutter Settings Screen with Shared Preferences

Overview

Settings Screen with Shared Preferences

A library that provides an easy solution to create settings screens with simple and compound options.

Features

  • Key-value pairs saved via Shared Preferences
  • React style data retrieval
  • Disable or hide widgets according to others' value

Examples

View code example at: https://github.com/gurulnd-git/shared_preferences_settings_example

Screen widgets

SettingsScreen

A simple Screen widget that may contain settings tiles or other widgets. The following example shows how you can create an empty settings screen with a title:

SettingsScreen(
    title: "Application Settings",
    children: [],
);

Inside the children parameter you can define settings tiles and other widgets. In this example we create a screen with a simple CheckboxSettingsTile in it:

SettingsScreen(
    title: "Application Settings",
    children: [
        CheckboxSettingsTile(
            settingKey: 'key-of-your-setting',
            title: 'This is a simple Checkbox',
        ),
    ],
);

SettingsToggleScreen

A Screen widget similar to SettingsScreen, but additionally, it contains a built-in Checkbox at the beginning of its body. Therefore, it requires a settingKey to save its value. The following example shows how you can create an empty settings toggle with a title:

SettingsToggleScreen(
    settingKey: 'key-of-your-setting',
    title: 'Title',
    children: [],
);

In this example, we create a settings toggle screen using more parameters and with children widgets according to its state:

SettingsToggleScreen(
    settingKey: 'key-of-your-setting',
    title: 'Title',
    defaultValue: true,
    subtitle: 'Enabled',
    subtitleIfOff: 'Disabled',
    children: [
        SettingsContainer(
            child: Text('This is enabled! :)'),
        ),
    ],
    childrenIfOff: [
        SettingsContainer(
            child: Text('Tap the checkbox to enable.'),
        ),
    ],
);

Tile widgets

SimpleSettingsTile

A simple widget settings tile that can open a new screen by tapping it. The following example shows how you can create a SimpleSettingsTile that open a new Screen by tapping it:

SimpleSettingsTile(
    title: 'Advanced',
    subtitle: 'More, advanced settings.'
    screen: SomeSettingsScreen(
        title: 'Sub menu',
        children: [
            CheckboxSettingsTile(
                settingKey: 'key-of-your-setting',
                title: 'This is a simple Checkbox',
            ),
        ],
    ),
);

SettingsTileGroup

A widget that groups settings tiles and other widgets together with a group title. The following example shows how you can create a group with a simple CheckboxSettingsTile.:

SettingsTileGroup(
    title: 'Group title',
    children: [
        CheckboxSettingsTile(
            settingKey: 'key-of-your-setting',
            title: 'This is a simple Checkbox',
        ),
    ],
);

ExpansionSettingsTile

A widget that groups settings tiles and other widgets together with a group title and can be expanded or closed. The following example shows how you can create a simple ExpansionSettingsTile with a CheckboxSettingsTile:

ExpansionSettingsTile(
    title: 'You can expand & close',
    children: [
        CheckboxSettingsTile(
            settingKey: 'key-of-your-setting',
            title: 'This is a simple Checkbox',
        ),
    ],
);

CheckboxSettingsTile

A settings tile with a Checkbox that can be true or false. The following example shows how you can create a tile with checkbox:

CheckboxSettingsTile(
    settingKey: 'key-of-your-setting',
    title: 'This is a Checkbox',
);

In this example, we create a tile using more parameters:

CheckboxSettingsTile(
    settingKey: 'wifi_status',
    title: 'Wi-Fi',
    subtitle: 'Connected.',
    subtitleIfOff: 'To see available networks, turn on Wi-Fi.',
    screen: SettingsToggleScreen(
        settingKey: 'wifi_status',
        subtitle: 'Connected',
        subtitleIfOff: 'To see available networks, turn on Wi-Fi.',
        children: [
            SettingsContainer(
                children: [
                    Text('Put some widgets or tiles here.'),
                ],
            ),
        ],
        children: [
            SettingsContainer(
                children: [
                    Text('You are offline.'),
                    Text('Put some widgets or tiles here.'),
                ],
            ),
        ],
    ),
);

SwitchSettingsTile

A settings tile with a Switch that can be true or false. The following example shows how you can create a tile with switch:

SwitchSettingsTile(
    settingKey: 'key-of-your-setting',
    title: 'This is a Switch',
);

In this example, we create a tile using more parameters:

SwitchSettingsTile(
    settingKey: 'wifi_status',
    title: 'Wi-Fi',
    subtitle: 'Connected.',
    subtitleIfOff: 'To see available networks, turn on Wi-Fi.',
    screen: SettingsToggleScreen(
        settingKey: 'wifi_status',
        subtitle: 'Connected',
        subtitleIfOff: 'To see available networks, turn on Wi-Fi.',
        children: [
            SettingsContainer(
                children: [
                    Text('Put some widgets or tiles here.'),
                ],
            ),
        ],
        children: [
            SettingsContainer(
                children: [
                    Text('You are offline.'),
                    Text('Put some widgets or tiles here.'),
                ],
            ),
        ],
    ),
);

RadioSettingsTile

A settings tile that consist of a tile with title and subtitle and additional tiles according to the given key set. The following example shows how you can create a tile with switch:

RadioSettingsTile(
    settingKey: 'key-of-your-setting',
    title: 'Select one option',
    values: {
        'a': 'Option A',
        'b': 'Option B',
        'c': 'Option C',
        'd': 'Option D',
    },
);

SliderSettingsTile

A settings tile with a slider within a given range. The following example shows how you can create a tile with a slider:

SliderSettingsTile(
    settingKey: 'key-of-your-setting',
    title: 'Brightness',
    minIcon: Icon(Icons.brightness_4),
    maxIcon: Icon(Icons.brightness_7),
);

In this example, we create a slider tile using more parameters:

SliderSettingsTile(
    settingKey: 'key-of-your-setting',
    title: 'Rate this app',
    subtitle: 'How would you rate this app in a 5 to 1 scale?',
    minValue: 1.0,
    maxValue: 5.0,
    step: 1.0,
);

RadioPickerSettingsTile

A simple tile that launches a modal dialog with radio buttons. The following example shows how you can create a tile that launches radio buttons:

RadioPickerSettingsTile(
    settingKey: 'key-of-your-setting',
    title: 'Choose one in the modal dialog',
    values: {
        'a': 'Option A',
        'b': 'Option B',
        'c': 'Option C',
        'd': 'Option D',
    },
    defaultKey: 'b',
);

TextFieldModalSettingsTile

A simple tile that launches a modal dialog with a text input. The following example shows how you can create a tile that launches a modal dialog with a text input:

TextFieldModalSettingsTile(
    settingKey: 'key-of-your-setting',
    title: 'Type something',
);

In this example, we create a text field modal tile using more parameters. By giving an emailAddress keyboardType, the phone's keyboard will be optimized to type email addresses easily:

TextFieldModalSettingsTile(
    settingKey: 'key-of-your-setting',
    title: 'Type your email',
    defaultValue: 'This is by default.',
    cancelCaption: 'Cancel',
    okCaption: 'Save Email',
    keyboardType: TextInputType.emailAddress,
);

In this example, we replace the text with a series of bullets to obfuscate sensitive information such as user passwords.

TextFieldModalSettingsTile(
    settingKey: 'key-of-your-setting',
    title: 'Set User Password',
    obfuscateText: true,
);

SimpleColorPickerSettingsTile

A tile that launches a modal dialog where the user can pick any color. The following example shows how you can create a tile that launches a modal dialog with a color picker:

SimpleColorPickerSettingsTile(
    settingKey: 'key-of-your-setting',
    title: 'Color Picker',
);

In this example, we create the same tile but using more of its parameter:

SimpleColorPickerSettingsTile(
    settingKey: 'key-of-your-setting',
    title: 'Color Picker',
    cancelCaption: 'Keep the old value',
    okCaption: 'Select new',
    confirmText: 'Are you sure want to modify the previously selected color?',
    confirmModalTitle: 'Are you sure?',
    confirmModalCancelCaption: 'Keep the old one',
    confirmModalConfirmCaption: 'Yes, I am sure',
);

MaterialColorPickerSettingsTile

A tile that launches a modal dialog where the user can pick any Material color. The following example shows how you can create a tile that launches a modal dialog with a Material color picker:

MaterialColorPickerSettingsTile(
    settingKey: 'key-of-your-setting',
    title: 'Color Picker',
);

In this example, we create the same tile but using more of its parameter:

MaterialColorPickerSettingsTile(
    settingKey: 'key-of-your-setting',
    title: 'Color Picker',
    cancelCaption: 'Keep the old value',
    okCaption: 'Select new',
    confirmText: 'Are you sure want to modify the previously selected color?',
    confirmModalTitle: 'Are you sure?',
    confirmModalCancelCaption: 'Keep the old one',
    confirmModalConfirmCaption: 'Yes, I am sure',
);

SettingsContainer

A widget that helps its child or children to fin in the settings screen. It is helpful if you want to place other widgets than settings tiles in the settings screen body. The following example shows how you can create a container with one Text widget:

SettingsContainer(
    child: Text('Hello world'),
);

In this example, we create a container with multiple Text widgets:

SettingsContainer(
    children: [
        Text('First line'),
        Text('Second line'),
    ],
);

Retrieving data

In this chapter, some StreamBuilder function will be introduced to show how you can retrieve data from Settings that will be rebuilt when the data changes.

onStringChanged

Use this function to retrieve a String type value. The following example shows how you can retrieve easily a data you have saved earlier. It also reacts if data changes:

Settings().onStringChanged(
    settingKey: 'key-of-your-setting',
    defaultValue: 'Empty',
    childBuilder: (BuildContext context, String value){
        return Text(value);
    },
);

onBoolChanged

Use this function to retrieve a bool type value. The following example shows how you can retrieve easily a data you have saved earlier. It also reacts if data changes:

Settings().onBoolChanged(
    settingKey: 'key-of-your-setting',
    defaultValue: false,
    childBuilder: (BuildContext context, bool value){
        return Text(value.toString());
    },
);

onDoubleChanged

Use this function to retrieve a double type value. The following example shows how you can retrieve easily a data you have saved earlier. It also reacts if data changes:

Settings().onDoubleChanged(
    settingKey: 'key-of-your-setting',
    defaultValue: 0.0,
    childBuilder: (BuildContext context, double value){
        return Text(value.toString());
    },
);

onIntChanged

Use this function to retrieve a int type value. The following example shows how you can retrieve easily a data you have saved earlier. It also reacts if data changes:

Settings().onIntChanged(
    settingKey: 'key-of-your-setting',
    defaultValue: 0,
    childBuilder: (BuildContext context, int value){
        return Text(value.toString());
    },
);

getString

Retrieve String settings value asynchronously. The following example shows how you can retrieve easily a data asynchronously:

void someAsyncFunction() async {
    String myValue = await Settings().getString(
        settingKey: 'key-of-your-setting',
        defaultValue: 'Default value',
    );
    // ...
}

getBool

Retrieve bool settings value asynchronously. The following example shows how you can retrieve easily a data asynchronously:

void someAsyncFunction() async {
    bool myValue = await Settings().getBool(
        settingKey: 'key-of-your-setting',
        defaultValue: true,
    );
    // ...
}

getDouble

Retrieve double settings value asynchronously. The following example shows how you can retrieve easily a data asynchronously:

void someAsyncFunction() async {
    double myValue = await Settings().getDouble(
        settingKey: 'key-of-your-setting',
        defaultValue: 0.0,
    );
    // ...
}

getInt

Retrieve int settings value asynchronously. The following example shows how you can retrieve easily a data asynchronously:

void someAsyncFunction() async {
    int myValue = await Settings().getInt(
        settingKey: 'key-of-your-setting',
        defaultValue: 0,
    );
    // ...
}

Conditional Logic

Some Settings Tiles have enabledIfKey and/or visibleIfKey, visibleByDefault parameters. Using these parameters, some basic conditional logic can be achieved.

In this example, the SimpleSettingsTile will be hidden by default and will appear as soon as the Checkbox or Switch that has key-of-parent settingKey get turned on:

SimpleSettingsTile(
    title: 'Conditionally visible',
    visibleIfKey: 'key-of-parent',
);

In this example, the SimpleSettingsTile will be enabled by default because we told it via the defaultVisibility: true parameter. It reams enabled until the key-of-parent is turned on. The parameter called defaultVisibility is the default behaviour of the visibility and the enabled state as well:

SimpleSettingsTile(
    title: 'Conditionally enabled.',
    enabledIfKey: 'key-of-parent',
    defaultVisibility: true,
);

License

MIT License

Donation

If you would like to contribute to my work, you can donate via PayPal.

Customization

Need customization for this library or a developer? Please contact me via email you can find on my profile.

Comments
  • Updrade compatibility

    Updrade compatibility

    I get the following error:

    Because <my_app> depends on shared_preferences_settings ^1.0.0+1 which depends on shared_preferences ^0.4.3, shared_preferences ^0.4.3 is required. So, because <my_app> depends on shared_preferences ^0.5.3+4, version solving failed.

    Same problem with

    rxdart ^0.22.4

    opened by JavaJeremy 11
  • Support for PasswordTextFieldModal?

    Support for PasswordTextFieldModal?

    I need to have a password settings tile but that does not exist, sadly. Would be a great feature just to have the ******** replace the caption for textifledmodal.

    opened by travisjayday 4
  • new version needed on pub.dev

    new version needed on pub.dev

    Hey, the version of shared_preferences_settings available on https://pub.dev/packages/shared_preferences_settings is out of date. Could you publish a new version using the code in master of this repo (1.1.0)? thank you!

    opened by sallaben 3
  • Parameter is not defined

    Parameter is not defined

    I followed the instructions according to readme.md but I am getting an error in SwitchSettingsTile. I can't add children. Actually I want to add a dark mode option for this switch but I have no idea how to do. Please help me. I am new to flutter. Thanks in advanced. capture

    opened by HeinKhantZaw 2
  • Updated README.md for some bugs in doc, added real-time example refer…

    Updated README.md for some bugs in doc, added real-time example refer…

    Hi,

    I have updated some of the items to make this library more useful to people to use. If you are good with the changes, please merge. I love to contribute to this library in future.

    opened by gurulnd-git 1
  • Search functionality for the RadioPickerSettingsTile

    Search functionality for the RadioPickerSettingsTile

    Hi, we're currently using this plugin at the moment which is working fantastic.

    We were wondering if there is any support/workaround for a searchable RadioPickerSettingsTile? We have a lot of results coming back from our API and we would like a tight as possible integration with this plugin.

    Thanks!

    opened by ghost 1
  • RadioPickerSettingsTile: type '(String) => void' is not a subtype of type '(String?) => dynamic' of 'onChanged'

    RadioPickerSettingsTile: type '(String) => void' is not a subtype of type '(String?) => dynamic' of 'onChanged'

    With the new null safety version I get the following error with a RadioPickerSettingsTile, but only if I run the app with sound nullsafety enabled:

    ======== Exception caught by widgets library =======================================================
    The following _TypeError was thrown building _SettingsModal(dirty, state: __SettingsModalState#c7f37):
    type '(String) => void' is not a subtype of type '(String?) => dynamic' of 'onChanged'
    
    The relevant error-causing widget was: 
      MaterialApp file:///*/lib/structure/app_page.dart:26:16
    When the exception was thrown, this was the stack: 
    #0      _TypeError._throwNew (dart:core-patch/errors_patch.dart:98:34)
    #1      __SettingsModalState.build (package:shared_preferences_settings/src/settings_screen.dart:1619:33)
    #2      StatefulElement.build (package:flutter/src/widgets/framework.dart:4612:27)
    #3      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4495:15)
    #4      StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4667:11)
    ...
    ====================================================================================================
    

    Here is my Code:

        return SettingsScreen(
          title: S.of(context).settings,
          children: [
            RadioPickerSettingsTile(
              defaultKey: '0',
              icon: Icon(Icons.brightness_6),
              cancelCaption: S.of(context).cancel,
              okCaption: S.of(context).okay,
              settingKey: SettingsUtil.parThemeMode,
              title: S.of(context).theme,
              values: {
                '0': S.of(context).themeSystem,
                '1': S.of(context).themeLight,
                '2': S.of(context).themeDark,
              },
            )
          ],
        );
    
    opened by Sauceee 0
  • Fix slider calculation for evenly divisible values

    Fix slider calculation for evenly divisible values

    When using the slider, I noticed a bug where for evenly divisible values, the slider doesn't step correctly.

    Example, for

      SliderSettingsTile(
                  settingKey: 'my-key',
                  title: 'Slider demo',
                  defaultValue: 100.0,
                  minValue: 0.0,
                  maxValue: 100.0,
                  step: 10.0,
                ),
    

    I get the following result Screen Recording 2020-06-19 at 6 13 09 PM

    Likely because 100 / 10 + 1 = 11, so the step becomes 100 / 11 = 9.090909...

    After the fix, for the same code Screen Recording 2020-06-19 at 6 14 27 PM

    Sorry for the super slow gif, conversion from mov wasn't the best.

    opened by StefanSlehta 0
  • Allow changing the app bar background

    Allow changing the app bar background

    Allows the user to override the background color for the AppBar.

    Should the SettingsContainer also be updated to allow passing this param? I'm still in the beginning phases of this package.

    opened by StefanSlehta 0
  • obscureText property support for TextFieldModalSettingsTiles with

    obscureText property support for TextFieldModalSettingsTiles with "sensitive" information like passwords.

    Added obscureText property to TextFieldModalSettingsTile and obscureSubtitle property to _ModalSettingsTile. If enabled, the textfield will have its subtitle replaced characters replaced by bullets, and the popup dialog box will have obscureText enabled. If the user does not input any value, the subtitle becomes "Not Set". Updated readme with a short example.

    opened by travisjayday 0
  • how to initialize?

    how to initialize?

    Hello! i like the preference screen i can make with this, but am stuck with an annoying problem.... my main dart starts with :

     SharedPreferences prefs = await SharedPreferences.getInstance();
       WidgetsFlutterBinding.ensureInitialized();
    ....
    
    

    but on my welcome screen where i display a setting:

    Widget build(BuildContext context) {
    Settings().getString( 'key-filename', 'none' ).then((value) {
    			print("retrieved filename : $fname");
    			fname= value!;
    		});
    

    on start returns "none" i need to explicitely go to the settings screen and return back to the home screen to have this filled correctly??

    what am i doing wrong here?

    opened by nohkumado 0
  • Custom Style for SettingsScreen

    Custom Style for SettingsScreen

    Hi! Currently it's only possible to set a background color for the Appbar. If I want to add gradient, it's not possible.

    Current: image

    //Would be awesome to have option to add custom style like this:
    ...
    flexibleSpace: BoxDecoration(
            gradient: LinearGradient(
                begin: Alignment.centerLeft,
                end: Alignment.centerRight,
                colors: <Color>[
                  Colors.blue,
                  Colors.deepPurple,
                  Colors.white
                ]
            )
        )
    
    opened by ThraaxSession 0
  • Null safety problem

    Null safety problem

    When trying to use in my app, I got the following issues:

    Because shared_preferences_settings >=1.2.0 depends on shared_preferences ^0.5.6+3 and my_app3 depends on 
    shared_preferences ^2.0.6, shared_preferences_settings >=1.2.0 is forbidden.
    

    and after downgrading shared_preferences, I get the following build error:

    Error: Cannot run with sound null safety, because the following dependencies
    don't support null safety:
    
    - package:shared_preferences
    - package:shared_preferences_settings
    - package:shared_preferences_platform_interface
    - package:rxdart
    
    - package:flutter_colorpicker
    

    Any help would be most appreciated.

    opened by danielle-h 3
  • flutter_colorpicker too old

    flutter_colorpicker too old

    I have just installed flutter 2.5, and I am getting the following message: ../../.pub-cache/hosted/pub.dartlang.org/flutter_colorpicker-0.4.0/lib/src/hsv_picker.dart:731:29: Error: The argument type 'PointerEvent' can't be assigned to the parameter type 'PointerDownEvent'.

    • 'PointerEvent' is from 'package:flutter/src/gestures/events.dart' ('../../snap/flutter/common/flutter/packages/flutter/lib/src/gestures/events.dart').
    • 'PointerDownEvent' is from 'package:flutter/src/gestures/events.dart' ('../../snap/flutter/common/flutter/packages/flutter/lib/src/gestures/events.dart'). super.addAllowedPointer(event); ^

    From what I can see, the reason is that 'shared_preferences_settings' v. 2.1.0 uses 'flutter_colorpicker' v. 0.4.0, not the latest.

    opened by polaksta 2
  • Change TextFieldModalSettingsTile reactively

    Change TextFieldModalSettingsTile reactively

    Is there a way for the TextFieldModalSettingsTile to change its value reactively (i.e. when the preference it cointains is changed from another place outside its dialog box)?

    I tried using the Setting().onChanged to change the Tile itself, but it is not working. I probably think this can be done with a Provider or similar, but was wondering if there is a solution from the package itself.

    opened by mpgamelas 0
Releases(v1.0.0)
Owner
Barnabás BARTHA
Full Stack developer, TypeScript, Angular, Three.js, Unity, clean code, architecture, performance optimization, game dev enthusiast.
Barnabás BARTHA
Flutter Settings Screen with Shared Preferences

Settings Screen with Shared Preferences A library that provides an easy solution to create settings screens with simple and compound options. Features

Barnabás BARTHA 66 Sep 27, 2022
Flutter settings manager built on top of Shared Preferences

Settings Manager Flutter settings store built on top of shared preferences. Code Generator for supported types Usage import 'dart:async'; import 'pac

Rody Davis 17 Dec 13, 2022
Flutter-Shared-Preference - The goal is to learn how to use the shared preferences plugin to save important pieces of information to your device.

Recipe Finder The goal is to learn how to use the shared preferences plugin to save important pieces of information to your device. Final App UI Resou

Ashirbad Swain 1 Jan 1, 2022
Settings Screen with Custom Shared Preference Interface

flutter_settings_screens This is a simple flutter plugin for easily creating app settings screens. The unique thing about this library is that it is n

Harshvardhan Joshi 149 Jan 4, 2023
Flutter theme demo using riverpod and shared preferences

flutter_theme_demo A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you start

Andree Yosua 0 Dec 27, 2021
🌀 Shared preferences with RxDart Stream observation

?? Shared preferences with RxDart Stream observation ⚡️ Reactive shared preferences for Flutter ??Reactive stream wrapper around SharedPreferences ?? Lightweight and easy-to-use ?? A reactive key-value store for Flutter projects. Like shared_preferences, but with Streams ?? Rx Shared Preferences for Flutter ?? rx_shared_preferences ?? rx_shared_preference ?? Reactive SharedPreferences for Flutter ?? A stream based wrapper over shared_preferences, allowing reactive key-value storage.

Petrus Nguyễn Thái Học 36 Nov 4, 2022
Shared Preferences ile ekran açılma sayacı uygulaması

sayac_uygulamasi A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started

null 0 Dec 29, 2021
A package for encrypted shared preferences

Prefs Guard Prefs Guard is a data protection wrapper for local storage (Shared Prefs). supporting both IOS & Android. - Notice :- Use Same GuardType t

null 26 Jun 7, 2022
This example uses a ScrollView, JSON Rest API, Navigation, Alert Pop Up, Progress Indicator, Globals, Images in a shared asset folder, and 100% Shared Code

This example uses a ScrollView, JSON Rest API, Navigation, Alert Pop Up, Progress Indicator, Globals, Images in a shared asset folder, and 100% Shared Code. Now with the ability to login with FaceID, TouchID, and Fingerprint Reader on Android.

Rody Davis 672 Jan 6, 2023
A Flutter project created for test purposes based on the wallet settings screen of the polkadex mobile app.

polkadex_mobile_test A Flutter project created for test purposes based on the wallet settings screen of the polkadex mobile app. Getting Started This

null 0 Jan 10, 2022
Doctor Consultation App in Flutter containing splash screen on boarding screen Routing state management Dash board Bottom navigation Decorated Drawer and Doctors Screen in the last.

Online doctor Consultation App UI in Flutter Doctor Consultation App UI in Flutter Visit Website Features State Management Navigation Bar Responsive D

Habib ullah 14 Jan 1, 2023
Android test task master - Create PIN code screen, authentication by PIN code screen and menu screen

Here is described test tasks for a android dev. Need to implement three screens:

null 3 Oct 4, 2022
Flutter preferences management with crypto capabilities

crypted_preferences Flutter preferences management with crypto capabilities For now preferences are not crypted, I'm waiting for FFI to land :) But yo

Jimmy Aumard 7 Jan 14, 2020
A Flutter widget to create an iOS settings-table (static TableView).

flutter_cupertino_settings A Flutter widget to create an iOS settings-table (static TableView). import 'package:flutter_cupertino_settings/flutter_cup

Matthias Rupp 234 Dec 28, 2022
An Ubuntu desktop settings app made with Flutter

unofficial Ubuntu Desktop Settings App made with Flutter - WIP TODO use real yaru icons - thanks to @Jupi007 improve layout implement settings search

Frederik Feichtmeier 236 Dec 15, 2022
A Flutter repo with a ready-to-go architecture containing flavors, bloc, device settings, json serialization and connectivity

Flutter Ready to Go A Flutter repo with a ready-to-go architecture containing flavors, bloc, device settings, json serialization and connectivity. Why

null 139 Nov 11, 2022
Create native settings for Flutter app in a minutes.

Settings UI for Flutter Installing: In your pubspec.yaml dependencies: settings_ui: ^1.0.1 import 'package:settings_ui/settings_ui.dart'; Basic Usag

Yako 716 Dec 29, 2022
Arissettingsmenuexm - Settings Menu with different choices by clicking on a Popup Menu Button in Flutter

Flutter Tutorial - Settings Menu & AppBar Dropdown Menu Show a Flutter Settings

Behruz Hurramov 1 Jan 9, 2022
Fluttersettingsui - Fork of settingsui. Create native settings for Flutter app in a minutes.

Settings UI for Flutter Installing: In your pubspec.yaml dependencies: flutter_settings_ui: ^1.0.1 import 'package:flutter_settings_ui/flutter_setti

Julian Steenbakker 22 Oct 24, 2022