attach method

  1. @override
Widget? attach(
  1. BuildContext context,
  2. SettingsViewController controller
)
override

Implementation

@override
Widget? attach(context, controller) {
  var mTT = context.textTheme;

  return Opacity(
    opacity: controller.enabled ? 1 : 0.5,
    child: SettingTile(
      background: Colors.transparent,
      rippleColor: Colors.transparent,
      pressedColor: Colors.transparent,
      padding: contentPadding,
      header: RawTextView(
        text: controller.title,
        textStyle: controller.titleStyle ?? mTT.titleMedium,
      ),
      body: TextView(
        visibility: controller.summary?.isNotEmpty ?? false,
        text: controller.summary,
        textStyle: controller.summaryStyle ?? mTT.titleSmall,
      ),
      leading: IconView(
        visibility: controller.icon != null,
        icon: controller.icon,
        size: controller.iconSize ?? context.iconTheme.size ?? 24,
        tint: controller.iconTint ?? context.iconTheme.color,
        marginEnd: 24,
      ),
      tailing: controller.type == SettingsViewType.none
          ? null
          : Padding(
              padding: const EdgeInsets.only(left: 16.0),
              child: SettingsTailingView(controller: controller),
            ),
    ),
  );
}