Removing the ripple effect

This commit is contained in:
Gaspard Merten 2021-01-22 19:43:15 +01:00
parent 330eb928d7
commit aa20bfc716
5 changed files with 76 additions and 74 deletions

View file

@ -66,3 +66,7 @@ Breaking change:
* Full support for input decoration * Full support for input decoration
* New standardized usage, many deprecations * New standardized usage, many deprecations
##1.0.1
* Removing the ripple effect

View file

@ -15,7 +15,7 @@ In the `pubspec.yaml` of your flutter project, add the following dependency:
```yaml ```yaml
dependencies: dependencies:
... ...
date_field: ^1.0.0 date_field: ^1.0.1
``` ```
In your library add the following import: In your library add the following import:

View file

@ -12,8 +12,10 @@ class MyApp extends StatelessWidget {
return MaterialApp( return MaterialApp(
title: 'Flutter Demo', title: 'Flutter Demo',
theme: ThemeData( theme: ThemeData(
inputDecorationTheme: inputDecorationTheme: const InputDecorationTheme(
const InputDecorationTheme(border: OutlineInputBorder()), border: OutlineInputBorder()
),
primarySwatch: Colors.blue, primarySwatch: Colors.blue,
), ),
home: MyHomePage(), home: MyHomePage(),
@ -21,6 +23,7 @@ class MyApp extends StatelessWidget {
} }
} }
class MyHomePage extends StatefulWidget { class MyHomePage extends StatefulWidget {
@override @override
_MyHomePageState createState() => _MyHomePageState(); _MyHomePageState createState() => _MyHomePageState();
@ -31,72 +34,74 @@ class _MyHomePageState extends State<MyHomePage> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
body: Padding( body: Padding(
padding: const EdgeInsets.all(20.0), padding: const EdgeInsets.all(20.0),
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
const FlutterLogo(size: 100), const FlutterLogo(size: 100),
const SizedBox(height: 20), const SizedBox(height: 20),
const Text('DateField package showcase'), const Text('DateField package showcase'),
const Padding( const Padding(
padding: EdgeInsets.symmetric(vertical: 20.0), padding: EdgeInsets.symmetric(vertical: 20.0),
child: Text('DateTimeField'), child: Text('DateTimeField'),
), ),
DateTimeField( DateTimeField(
decoration: const InputDecoration(
hintText: 'Please select your birthday date and time'),
selectedDate: selectedDate,
onDateSelected: (DateTime value) {
setState(() {
selectedDate = value;
});
}),
const Padding(
padding: EdgeInsets.symmetric(vertical: 20.0),
child: Text('DateTimeFormField'),
),
Form(
child: Column(
children: [
DateTimeFormField(
decoration: const InputDecoration( decoration: const InputDecoration(
hintStyle: TextStyle(color: Colors.black45), hintText: 'Please select your birthday date and time'
errorStyle: TextStyle(color: Colors.redAccent),
border: OutlineInputBorder(),
suffixIcon: Icon(Icons.event_note),
labelText: 'My Super Date Time Field',
), ),
autovalidateMode: AutovalidateMode.always, selectedDate: selectedDate,
validator: (e) =>
(e?.day ?? 0) == 1 ? 'Please not the first day' : null,
onDateSelected: (DateTime value) { onDateSelected: (DateTime value) {
print(value); setState(() {
}, selectedDate = value;
});
}
),
const Padding(
padding: EdgeInsets.symmetric(vertical: 20.0),
child: Text('DateTimeFormField'),
),
Form(
child: Column(
children: [
DateTimeFormField(
decoration: const InputDecoration(
hintStyle: TextStyle(color: Colors.black45),
errorStyle: TextStyle(color: Colors.redAccent),
border: OutlineInputBorder(),
suffixIcon: Icon(Icons.event_note),
labelText: 'My Super Date Time Field',
),
autovalidateMode: AutovalidateMode.always,
validator: (e) => (e?.day ?? 0) == 1 ? 'Please not the first day' : null,
onDateSelected: (DateTime value) {
print(value);
},
),
const SizedBox(height: 50),
DateTimeFormField(
decoration: const InputDecoration(
hintStyle: TextStyle(color: Colors.black45),
errorStyle: TextStyle(color: Colors.redAccent),
border: OutlineInputBorder(),
suffixIcon: Icon(Icons.event_note),
labelText: 'Only time',
),
mode: DateTimeFieldPickerMode.time,
autovalidateMode: AutovalidateMode.always,
validator: (e) => (e?.day ?? 0) == 1 ? 'Please not the first day' : null,
onDateSelected: (DateTime value) {
print(value);
},
),
],
), ),
const SizedBox(height: 50), ),
DateTimeFormField( ],
decoration: const InputDecoration(
hintStyle: TextStyle(color: Colors.black45),
errorStyle: TextStyle(color: Colors.redAccent),
border: OutlineInputBorder(),
suffixIcon: Icon(Icons.event_note),
labelText: 'Only time',
),
mode: DateTimeFieldPickerMode.time,
autovalidateMode: AutovalidateMode.always,
validator: (e) =>
(e?.day ?? 0) == 1 ? 'Please not the first day' : null,
onDateSelected: (DateTime value) {
print(value);
},
),
],
),
), ),
], )
), );
));
} }
} }

View file

@ -312,16 +312,9 @@ class _InputDropdown extends StatelessWidget {
suffixIcon: const Icon(Icons.arrow_drop_down), suffixIcon: const Icon(Icons.arrow_drop_down),
).applyDefaults(Theme.of(context).inputDecorationTheme); ).applyDefaults(Theme.of(context).inputDecorationTheme);
return Material( return InputDecorator(
color: Colors.transparent, decoration: effectiveDecoration,
child: InkWell( child: Text(text, style: textStyle),
borderRadius: inkwellBorderRadius,
onTap: onPressed,
child: InputDecorator(
decoration: effectiveDecoration,
child: Text(text, style: textStyle),
),
),
); );
} }
} }

View file

@ -1,6 +1,6 @@
name: date_field name: date_field
description: A widget in the form of a field that lets people enter choose a date/time/date and time via a date/time picker dialog. description: A widget in the form of a field that lets people enter choose a date/time/date and time via a date/time picker dialog.
version: 1.0.0 version: 1.0.1
homepage: 'https://github.com/GaspardMerten/date_field' homepage: 'https://github.com/GaspardMerten/date_field'
environment: environment: