123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- import 'package:flutter/material.dart' hide CheckboxListTile;
- import 'package:photo/src/entity/options.dart';
- import 'package:photo/src/provider/i18n_provider.dart';
- import 'package:photo/src/ui/widget/check_tile_copy.dart';
-
- abstract class CheckBoxBuilderDelegate {
- Widget buildCheckBox(
- BuildContext context,
- bool checked,
- int index,
- Options options,
- I18nProvider i18nProvider,
- );
- }
-
- class DefaultCheckBoxBuilderDelegate extends CheckBoxBuilderDelegate {
- Color activeColor;
- Color unselectedColor;
-
- DefaultCheckBoxBuilderDelegate({
- this.activeColor = Colors.white,
- this.unselectedColor = Colors.white,
- });
-
- @override
- Widget buildCheckBox(
- BuildContext context,
- bool checked,
- int index,
- Options options,
- I18nProvider i18nProvider,
- ) {
- return Theme(
- data: Theme.of(context).copyWith(unselectedWidgetColor: unselectedColor),
- child: CheckboxListTile(
- value: checked,
- onChanged: (bool check) {},
- activeColor: activeColor,
- checkColor: unselectedColor,
- title: Text(
- i18nProvider.getSelectedOptionsText(options),
- textAlign: TextAlign.end,
- style: TextStyle(color: options.textColor),
- ),
- ),
- );
- }
- }
-
- class RadioCheckBoxBuilderDelegate extends CheckBoxBuilderDelegate {
- Color activeColor;
- Color unselectedColor;
-
- RadioCheckBoxBuilderDelegate({
- this.activeColor = Colors.white,
- this.unselectedColor = Colors.white,
- });
-
- @override
- Widget buildCheckBox(
- BuildContext context,
- bool checked,
- int index,
- Options options,
- I18nProvider i18nProvider,
- ) {
- return Theme(
- data: Theme.of(context).copyWith(unselectedWidgetColor: unselectedColor),
- child: RadioListTile<bool>(
- value: true,
- onChanged: (bool check) {},
- activeColor: activeColor,
- title: Text(
- i18nProvider.getSelectedOptionsText(options),
- textAlign: TextAlign.end,
- style: TextStyle(color: options.textColor, fontSize: 14.0),
- ),
- groupValue: checked,
- controlAffinity: ListTileControlAffinity.trailing,
- ),
- );
- }
- }
|