Create native settings for Flutter app in a minutes.

Overview

Settings UI for Flutter

Pub Version

Installing:

In your pubspec.yaml

dependencies:
  settings_ui: ^1.0.1
import 'package:settings_ui/settings_ui.dart';

Basic Usage:

      SettingsList(
        sections: [
          SettingsSection(
            title: 'Section',
            tiles: [
              SettingsTile(
                title: 'Language',
                subtitle: 'English',
                leading: Icon(Icons.language),
                onPressed: (BuildContext context) {},
              ),
              SettingsTile.switchTile(
                title: 'Use fingerprint',
                leading: Icon(Icons.fingerprint),
                switchValue: value,
                onToggle: (bool value) {},
              ),
            ],
          ),
        ],
      )


Settings UI supports dark mode:


License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details

Comments
  • Settings not showing up in iOS

    Settings not showing up in iOS

    Hi all!

    For any reason, my settings in iOS in release mode is not showing it up. settings_ui: ^0.3.0

    Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, v1.17.3, on Linux, locale en_US.UTF-8)

    [✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3) [✓] Android Studio (version 4.0) [✓] Android Studio (version 3.6) [✓] Connected device (1 available)

    • No issues found!

    photo_2020-06-09_18-01-30

    opened by RicardoRB 15
  • broken for flutter 2.8

    broken for flutter 2.8

    If flutter 2.8 we get the error:

    : Error: A value of type 'ListTileThemeData' can't be assigned to a variable of type 'ListTileTheme'.
    ../…/src/cupertino_settings_item.dart:76
    - 'ListTileThemeData' is from 'package:flutter/src/material/list_tile.dart' ('../../flutter/packages/flutter/lib/src/material/list_tile.dart').
    package:flutter/…/material/list_tile.dart:1
    - 'ListTileTheme' is from 'package:flutter/src/material/list_tile.dart' ('../../flutter/packages/flutter/lib/src/material/list_tile.dart').
    package:flutter/…/material/list_tile.dart:1
        final ListTileTheme tileTheme = ListTileTheme.of(context);
    

    Fixed with https://github.com/yako-dev/flutter-settings-ui/blob/dd14938d5c58863b0a0f32897267d35ce6ea8ba4/lib/src/cupertino_settings_item.dart#L80 changed to (and later references changed ListTileThemeData) final tileTheme = ListTileTheme.of(context);

    in general i would recommend to avoid typing these types kind of assignments explicitly

    opened by felix-ht 13
  • A value of type 'ListTileThemeData' can't be assigned to a variable of type 'ListTileTheme'.

    A value of type 'ListTileThemeData' can't be assigned to a variable of type 'ListTileTheme'.

    After updating to the latest version of Flutter I received this error:

    .pub-cache/git/flutter-settings-ui-dd14938d5c58863b0a0f32897267d35ce6ea8ba4/lib/src/cupertino_settings_item.dart:80:51: Error: A value of type 'ListTileThemeData' can't be assigned to a variable of type 'ListTileTheme'.

    I fixed it in the file by changing two references to type ListTileThemeData instead of ListTileTheme:

    76. final ListTileTheme tileTheme = ListTileTheme.of(context); to 76. final ListTileThemeData tileTheme = ListTileTheme.of(context);

    and 314. Color? _iconColor(ThemeData theme, ListTileTheme tileTheme) { to 314. Color? _iconColor(ThemeData theme, ListTileThemeData tileTheme) {

    If you could please add this to the next release it would be great! Thanks

    opened by Jandries 12
  • Platform detection via Theme.of(), fix a bug in iOS with a long subtitle

    Platform detection via Theme.of(), fix a bug in iOS with a long subtitle

    This pr fixes two issues with this fine plugin:

    1. Drops use of dart:io completely and uses Theme.of() to detect the platform being used. This is best suited to how Flutter works, and also allows a user to influence part of the widget tree (for example, testing or demonstration purposes).

    2. On iOS if the subtitle is too long, it caused a layout issue (showing those dreaded yellow/grey lines).

    opened by noordawod 10
  • v1.0.0 Title gets cut off

    v1.0.0 Title gets cut off

    Title gets cut off if its too long. There is still space as I have no subtitle. Can this be expanded?

    Also title max lines does nothing. If i set that to 2 or anything really, it doesnt work.

    opened by DragonSlayer88 8
  • Techdebt, which fixes a syntax error with most recent Flutter sources

    Techdebt, which fixes a syntax error with most recent Flutter sources

    If you're using the most recent Flutter sources (master channel), you cannot use the package due to a syntax error in the source code of the package. This is due to changes made in Flutter's Cupertino sources.

    This pr addresses this problem, and also removes types of final variables.

    opened by noordawod 7
  • Version 1.0.1 not available on pub.dev

    Version 1.0.1 not available on pub.dev

    The last available version on pub.dev does not match the git repo. According to changelog.md, the version on github is 1.0.1 and in pub.dev 1.0.0.

    [1.0.0] - [April 13, 2021] https://pub.dev/packages/settings_ui/changelog

    [1.0.1] - [Jul 28, 2021] https://github.com/yako-dev/flutter-settings-ui/blob/master/CHANGELOG.md

    I am currently overriding my pubsec.yml dev for 1.0.1, but I would like to avoid this.

    opened by shi-rudo 6
  • SettingsTile.switchTile only works for swipe

    SettingsTile.switchTile only works for swipe

    Looking to implement this package in my project and it looks promising. Good work!

    For some reason though the SettingsTile.switchTile switch only works if I swipe it, just tapping it does not toggle the switch.

    This is on iOS, have not tried Android behavior.

    opened by Swepilot 6
  • iOS Title text getting cut off in version 1.0.0

    iOS Title text getting cut off in version 1.0.0

    In the 1.0.0 release, my longer iOS titles are getting ellipsis treatment where they used to not. I'd really like the ability to control this so that the full text can be displayed when there is room. If the subtitle string is short and the title text is long, both should not be given 50% of the screen (assuming that's what is happening?). See pics below for a comparison of the same screen with 0.6.0 vs 1.0.0:

    060 100

    opened by fredecodes 5
  • Is there any way to hide the arrow on the far right?

    Is there any way to hide the arrow on the far right?

    Thanks for the great plugin.

    I would like to display the version of the application in the settings screen. Is there any way to hide the arrow on the far right?

    opened by nrikiji 5
  • Option to save/load settings in shared preferences

    Option to save/load settings in shared preferences

    Awesome project- a real time saver and nice, clean code.

    It'd be great to add an option to some settings tiles (e.g. switch tiles) that would provide options to automatically save the value to shared preferences. I'd suggest starting with switch tiles, using the settings label as the default preferences key when saving, and providing a configuration option to set a non-default key. Settings for other tile types would require some more discussion.

    Is this something anyone else would find valuable? If there's enough interest and a willingness to accept the feature request, I can put together a pull request.

    opened by garry-jeromson 5
  • Windows settings layout

    Windows settings layout

    Any chance of a Windows settings layout similar to the planned MacOS one?

    Comparing my Windows 11 Settings window to the MacOS screenshot in the other issue, it's pretty similar:

    Screenshot 2022-12-22 154905

    opened by bmcclure 0
  • Disabled SettingsTile not showing as disabled in web

    Disabled SettingsTile not showing as disabled in web

    Disable SettingsTile is not changing its appearance on Web devices.

    Example (language is disabled) running on Chrome: image

    The same screen with the same attributes on Android: image

    opened by lucasoares 0
  • Add expandable tile

    Add expandable tile

    This PR adds a new settings tile: An expandable Settings Tile

    It allows you to add content that should be expanded after you tap on the settings.

    Example video:

    untitled

    You can use it the following way:

    SettingsTile.expandableTile(
      title: Text('You want a ${speed.toString().split(".")[1]} speed'),
      description: Text('Choose your speed'),
      builder: (close) => Column(
        children: Speed.values
            .map(
              (speedValue) => RadioListTile<Speed>(
                title: Text(speedValue.toString().split(".")[1]),
                value: speedValue,
                groupValue: speed,
                onChanged: (newValue) {
                  if (newValue == null) {
                    return;
                  }
    
                  close();
    
                  setState(() {
                    speed = newValue;
                  });
                },
              ),
            )
            .toList(),
      ),
    )
    

    I have only added it to Android yet, as I first want to know what you guys think. If you like it, I will also add it for iOS too. I'd also suggest then changing the current architecture a bit to make the code more robust for future changes.

    THIS PR IS NOT READY TO BE MERGED YET!

    opened by Myzel394 6
Owner
Yako
Great mobile apps with Flutter
Yako
A flutter package that helps you create an on-boarding screen for your project within minutes just by providing a few parameters.

A flutter package that helps you create an on-boarding screen for your project within minutes just by providing a few parameters.

Sachin Kr. Shukla 40 Sep 27, 2022
Create flutter project with all needed configuration in two minutes (theme, localization, connect to firebase, FCM, local notifications, safe API call, error handling, animation..etc)

Flutter GetX Template Flutter Getx template to make starting project fast and easy . Introduction We all face the same problem when we want to start a

Emad Beltaje 150 Jan 7, 2023
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
With cupertino_setting_control you can create a settings page or a simple form very easy.

Flutter Cupertino Setting Control With cupertino_setting_control you can create a settings page or a simple form very easy. Therefore, cupertino_setti

Christoph Rothermel 7 Mar 28, 2022
All the tools you need to build an app in 2 minutes

All the tools you need to build an app in 2 minutes. This is the main, standard CC Core. The plan is to make this into smaller, independent modules, but for now we are making it all available.

CoCreations 0 Dec 30, 2021
Control your week, days, hours, and even minutes. ⏳

Info An advanced, minimalist, and powerful time management application. Where you can create the task, give it a duration, and select which weekdays y

Ismael Shakverdiev 86 Dec 18, 2022
how to Integrating facebook audience network to flutter app for banner, interstitial, rewarded, native and native banner

fb_ads_flutter_12 A new Flutter project. Getting Started Watch the complite tutorial for integrating Facebook ads into the Flutter app in our Youtube

null 4 Nov 26, 2022
react-native native module for In App Purchase.

Documentation Published in website. Announcement Version 8.0.0 is currently in release candidate. The module is completely rewritten with Kotlin and S

dooboolab 2.3k Dec 31, 2022
Flutter native ads - Show AdMob Native Ads use PlatformView

flutter_native_ads Flutter plugin for AdMob Native Ads. Compatible with Android and iOS using PlatformView. Android iOS Getting Started Android Androi

sakebook 64 Dec 20, 2022
dna, dart native access. A lightweight dart to native super channel plugin

dna, dart native access. A lightweight dart to native super channel plugin, You can use it to invoke any native code directly in contextual and chained dart code.

Assuner 14 Jul 11, 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 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
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
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 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
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
Boilerplate codes including Superbase settings for Flutter

flutter_boilerplate_supabase Boilerplate codes including Superbase settings for Flutter. Getting Started You have to create the .env file. Rename the

Flutter Seoul 2 Feb 7, 2022
My flutter (android, ios) UI design examples 🎈 - user profile UIs, food order ui, splashscreen, mask widget usage, settings page ui

Flutter UI Design Examples ?? This repository contains the flutter ui designs I designed while learning. Doctor Appointment App UI Packages in use: fl

Aleyna Eser 23 Nov 14, 2022
Navigation the Multiple Screens ( All categories and Favourites Screens ) and add settings to sort the meals based on categories

meals_app Navigation the Multiple Screens ( All categories and Favourites Screens ) and add settings to sort the meals based on categories Getting Sta

Avinash Poshiya 1 Nov 29, 2021