PermissionGuardOptions class

Customization options for PermissionGuard widget.

PermissionGuard uses Theme.of(context) everywhere possible. If you want to customize just colors or text appearance, try to play around with ThemeData like so:

Theme(
  data: Theme.of(context).copyWith(
    primaryTextTheme: const TextTheme(
      headlineMedium: TextStyle(fontSize: 30),
      bodyMedium: TextStyle(fontSize: 14),
    ),
    colorScheme: Theme.of(context).colorScheme.copyWith(
          primary: Colors.red,
        ),
  ),
  child: const PermissionGuard(
    permission: Permission.camera,
    child: _PermissionGrantedBody(),
  ),
),

Constructors

PermissionGuardOptions({bool requestOnInit = true, bool skipInitialChange = false, List<PermissionStatus> validStatuses = const [PermissionStatus.granted], bool displayLoader = true, Widget? loader, EdgeInsets padding = const EdgeInsets.all(24), double iconSpacing = 24, double titleSpacing = 24, double descriptionSpacing = 48, Widget? icon, String title(PermissionStatus status)?, String description(PermissionStatus status)?, String action(PermissionStatus status)?, Widget titleBuilder(PermissionStatus status)?, Widget descriptionBuilder(PermissionStatus status)?, Widget actionBuilder(PermissionStatus status, VoidCallback call)?})
Default constructor for PermissionGuardOptions.
const

Properties

action → (String Function(PermissionStatus status)?)
Optional text to override default action label. Useful for providing translated action label value.
final
actionBuilder → (Widget Function(PermissionStatus status, VoidCallback call)?)
Optional widget to override default action. Useful for providing custom action widget.
final
description → (String Function(PermissionStatus status)?)
Optional text to override default description. Useful for providing translated description value.
final
descriptionBuilder → (Widget Function(PermissionStatus status)?)
Optional widget to override default description. Useful for providing custom description widget.
final
descriptionSpacing double
Spacing between description & action.
final
displayLoader bool
Whether to display loader before the first check.
final
hashCode int
The hash code for this object.
no setterinherited
icon Widget?
Icon to be displayed for every PermissionStatus of permission. Useful to display permission related icon.
final
iconSpacing double
Spacing between icon & title.
final
loader Widget?
Loader widget to be displayed before the first check if displayLoader.
final
padding EdgeInsets
Padding around the content.
final
requestOnInit bool
Whether the guarded permission should be requested on initialization.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
skipInitialChange bool
Use to skip the initial onPermissionStatusChanged call, even if requestOnInit = true.
final
title → (String Function(PermissionStatus status)?)
Optional text to override default title. Useful for providing translated title value.
final
titleBuilder → (Widget Function(PermissionStatus status)?)
Optional widget to override default title. Useful for providing custom title widget.
final
titleSpacing double
Spacing between title & description.
final
validStatuses List<PermissionStatus>
All statuses that should release the guard.
final

Methods

copyWith({bool? requestOnInit, bool? skipInitialChange = false, List<PermissionStatus>? validStatuses, bool? displayLoader, EdgeInsets? padding, double? iconSpacing, double? titleSpacing, double? descriptionSpacing, Widget? icon, String title(PermissionStatus status)?, String description(PermissionStatus status)?, String action(PermissionStatus status)?, Widget titleBuilder(PermissionStatus status)?, Widget descriptionBuilder(PermissionStatus status)?, Widget actionBuilder(PermissionStatus status, VoidCallback call)?}) PermissionGuardOptions
Allows creating a fast copy of current instance with small adjustments.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited