• Taha Tesser's avatar
    Fix `cancelButtonStyle` & `confirmButtonStyle` properties from... · d7a3a682
    Taha Tesser authored
    Fix `cancelButtonStyle` & `confirmButtonStyle` properties  from `TimePickerTheme`  aren't working (#132843)
    
    fixes [`TimePickerThemeData` action buttons styles aren't working](https://github.com/flutter/flutter/issues/132760)
    
    ### Code sample
    
    <details> 
    <summary>expand to view the code sample</summary> 
    
    ```dart
    import 'package:flutter/material.dart';
    
    void main() => runApp(const MyApp());
    
    class MyApp extends StatelessWidget {
      const MyApp({super.key});
    
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          debugShowCheckedModeBanner: false,
          theme: ThemeData(
            useMaterial3: true,
            timePickerTheme: TimePickerThemeData(
              cancelButtonStyle: TextButton.styleFrom(
                shape: const RoundedRectangleBorder(
                  borderRadius: BorderRadius.all(Radius.circular(4)),
                  side: BorderSide(color: Colors.red),
                ),
                backgroundColor: Colors.white,
                foregroundColor: Colors.red,
                elevation: 3,
                shadowColor: Colors.red,
              ),
              confirmButtonStyle: TextButton.styleFrom(
                shape: const RoundedRectangleBorder(
                  borderRadius: BorderRadius.all(Radius.circular(4)),
                ),
                backgroundColor: Colors.green[700],
                foregroundColor: Colors.white,
                elevation: 3,
                shadowColor: Colors.green[700],
              ),
            ),
          ),
          home: const Example(),
        );
      }
    }
    
    class Example extends StatelessWidget {
      const Example({super.key});
    
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          body: Center(
            child: TimePickerDialog(initialTime: TimeOfDay.now()),
          ),
        );
      }
    }
    
    ``` 
    
    </details>
    
    ### Before (action buttons don't use the style from the `TimePickerTheme`)
    
    ![Screenshot 2023-08-18 at 14 57 37](https://github.com/flutter/flutter/assets/48603081/c95160e2-76a2-4bb5-84e0-3731fce19c0b)
    
    ### After (action buttons use the style from the `TimePickerTheme`)
    
    ![Screenshot 2023-08-18 at 14 57 18](https://github.com/flutter/flutter/assets/48603081/422d348a-bee2-4696-8d9a-5fce56191aaa)
    d7a3a682
time_picker_theme_test.dart 36.8 KB