Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions tdesign-component/lib/src/components/picker/t_date_picker.dart
Original file line number Diff line number Diff line change
Expand Up @@ -196,9 +196,14 @@ class _TDatePickerState extends State<TDatePicker> {
return items[itemIndex];
}

double _getMaskHeight() =>
pickerHeight / widget.pickerItemCount *
((widget.pickerItemCount - 1) / 2.0);

@override
Widget build(BuildContext context) {
var maxWidth = MediaQuery.of(context).size.width;
var maskHeight = _getMaskHeight();
return Container(
width: maxWidth,
padding: widget.padding ??
Expand Down Expand Up @@ -265,13 +270,12 @@ class _TDatePickerState extends State<TDatePicker> {
: Container(),
],
)),
// 蒙层
Positioned(
top: 0,
child: IgnorePointer(
ignoring: true,
child: Container(
height: _pickerTitleHeight,
height: maskHeight,
width: MediaQuery.of(context).size.width,
decoration: BoxDecoration(
gradient: LinearGradient(
Expand All @@ -289,7 +293,7 @@ class _TDatePickerState extends State<TDatePicker> {
child: IgnorePointer(
ignoring: true,
child: Container(
height: _pickerTitleHeight,
height: maskHeight,
width: MediaQuery.of(context).size.width,
decoration: BoxDecoration(
gradient: LinearGradient(
Expand Down
23 changes: 14 additions & 9 deletions tdesign-component/lib/src/components/picker/t_multi_picker.dart
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,10 @@ class TMultiPicker extends StatelessWidget {
Key? key,
}) : super(key: key);

double _getMaskHeight() =>
pickerHeight / pickerItemCount *
((pickerItemCount - 1) / 2.0);

@override
Widget build(BuildContext context) {
final dataLength = data.length;
Expand All @@ -128,6 +132,7 @@ class TMultiPicker extends StatelessWidget {
);

final maxWidth = MediaQuery.of(context).size.width;
final maskHeight = _getMaskHeight();

return Container(
width: maxWidth,
Expand Down Expand Up @@ -159,7 +164,6 @@ class TMultiPicker extends StatelessWidget {
),
),
),
// 列表
Container(
padding: const EdgeInsets.symmetric(horizontal: 32),
height: pickerHeight,
Expand All @@ -171,13 +175,12 @@ class TMultiPicker extends StatelessWidget {
),
),
),
// 蒙层
Positioned(
top: 0,
child: IgnorePointer(
ignoring: true,
child: Container(
height: _pickerTitleHeight,
height: maskHeight,
width: MediaQuery.of(context).size.width,
decoration: BoxDecoration(
gradient: LinearGradient(
Expand All @@ -197,7 +200,7 @@ class TMultiPicker extends StatelessWidget {
child: IgnorePointer(
ignoring: true,
child: Container(
height: _pickerTitleHeight,
height: maskHeight,
width: MediaQuery.of(context).size.width,
decoration: BoxDecoration(
gradient: LinearGradient(
Expand Down Expand Up @@ -478,9 +481,14 @@ class _TMultiLinkedPickerState extends State<TMultiLinkedPicker> {
);
}

double _getMaskHeight() =>
pickerHeight / widget.pickerItemCount *
((widget.pickerItemCount - 1) / 2.0);

@override
Widget build(BuildContext context) {
final maxWidth = MediaQuery.of(context).size.width;
final maskHeight = _getMaskHeight();
return Container(
width: maxWidth,
padding: widget.padding ??
Expand Down Expand Up @@ -510,8 +518,6 @@ class _TMultiLinkedPickerState extends State<TMultiLinkedPicker> {
TTheme.of(context).radiusDefault))),
),
),

// 列表
Container(
padding: const EdgeInsets.symmetric(horizontal: 32),
height: pickerHeight,
Expand All @@ -522,13 +528,12 @@ class _TMultiLinkedPickerState extends State<TMultiLinkedPicker> {
(i) => Expanded(child: buildList(context, i)),
),
)),
// 蒙层
Positioned(
top: 0,
child: IgnorePointer(
ignoring: true,
child: Container(
height: _pickerTitleHeight,
height: maskHeight,
width: MediaQuery.of(context).size.width,
decoration: BoxDecoration(
gradient: LinearGradient(
Expand All @@ -548,7 +553,7 @@ class _TMultiLinkedPickerState extends State<TMultiLinkedPicker> {
child: IgnorePointer(
ignoring: true,
child: Container(
height: _pickerTitleHeight,
height: maskHeight,
width: MediaQuery.of(context).size.width,
decoration: BoxDecoration(
gradient: LinearGradient(
Expand Down
Loading