A Flutter package for building card-based settings forms with Material and Cupertino style support.
Card Settings is a Flutter package designed for building card-based settings forms quickly and consistently. It provides a library of pre-built form field widgets that handle various input types, from text and numbers to pickers and switches, all while supporting both Material and Cupertino design styles. It solves the problem of repetitive form UI development by offering a standardized, themable, and validation-ready component set.
Flutter developers building mobile or desktop applications that require settings screens, configuration forms, or data entry interfaces. It's particularly useful for projects needing consistent, platform-appropriate form UIs with minimal custom widget development.
Developers choose Card Settings for its extensive out-of-the-box form field collection, dual theme support, and seamless integration with Flutter's Form system. Its customizable layout options and adherence to platform design conventions save development time while ensuring a polished user experience.
A flutter package for building card based forms.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Includes a wide variety of input types like text, numeric, pickers (date, time, color), switches, and informational sections, drastically reducing boilerplate code for common form scenarios.
Seamlessly switches between Material and Cupertino styles globally or per field via properties like showMaterialonIOS, ensuring platform-appropriate UIs without extra effort.
Offers carded or cardless styles, orientation-aware layouts with CardFieldLayout, and customizable theming through Flutter's ThemeData, allowing diverse form appearances.
Fully compatible with Flutter's Form widget, supporting validation, onChange, onSaved, and autovalidate out of the box, making it easy to handle form state and logic.
Allows controlling field visibility based on other field values using the visible property, enabling conditional forms without complex state management.
Relies on third-party packages like flutter_colorpicker and flutter_masked_text, which can introduce versioning issues, maintenance overhead, and potential conflicts in larger projects.
Theming requires deep understanding of Flutter's ThemeData, and orientation switching necessitates unique state keys for each field, adding setup complexity and risk of errors.
CardSettingsPhone is pre-configured only for US-style phone numbers, and input masking relies on flutter_masked_text, which may not support international formats or complex patterns without workarounds.
The package is optimized for card-based layouts; opting for cardless styles or highly custom non-card designs might require significant overrides or feel unnatural compared to purpose-built alternatives.