Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
9c963572
Unverified
Commit
9c963572
authored
Jun 28, 2023
by
Jonah Williams
Committed by
GitHub
Jun 28, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[framework] ensure flexible space bar fades when scrolling. (#129527)
This was missing the actual opacity rendering, oops
parent
8d837062
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
33 additions
and
1 deletion
+33
-1
flexible_space_bar.dart
packages/flutter/lib/src/material/flexible_space_bar.dart
+17
-0
flexible_space_bar_test.dart
packages/flutter/test/material/flexible_space_bar_test.dart
+16
-1
No files found.
packages/flutter/lib/src/material/flexible_space_bar.dart
View file @
9c963572
...
@@ -451,4 +451,21 @@ class _RenderFlexibleSpaceHeaderOpacity extends RenderOpacity {
...
@@ -451,4 +451,21 @@ class _RenderFlexibleSpaceHeaderOpacity extends RenderOpacity {
@override
@override
bool
get
isRepaintBoundary
=>
false
;
bool
get
isRepaintBoundary
=>
false
;
@override
void
paint
(
PaintingContext
context
,
Offset
offset
)
{
if
(
child
==
null
)
{
return
;
}
if
(
opacity
==
0
)
{
layer
=
null
;
return
;
}
assert
(
needsCompositing
);
layer
=
context
.
pushOpacity
(
offset
,
(
opacity
*
255
).
round
(),
super
.
paint
,
oldLayer:
layer
as
OpacityLayer
?);
assert
(()
{
layer
!.
debugCreator
=
debugCreator
;
return
true
;
}());
}
}
}
packages/flutter/test/material/flexible_space_bar_test.dart
View file @
9c963572
...
@@ -801,14 +801,29 @@ void main() {
...
@@ -801,14 +801,29 @@ void main() {
));
));
expect
(
RenderRebuildTracker
.
count
,
1
);
expect
(
RenderRebuildTracker
.
count
,
1
);
expect
(
tester
.
layers
.
lastWhere
((
Layer
element
)
=>
element
is
OpacityLayer
),
isA
<
OpacityLayer
>().
having
((
OpacityLayer
p0
)
=>
p0
.
alpha
,
'alpha'
,
255
),
);
// We drag up to fully collapse the space bar.
// We drag up to fully collapse the space bar.
for
(
int
i
=
0
;
i
<
20
;
i
++)
{
for
(
int
i
=
0
;
i
<
9
;
i
++)
{
await
tester
.
drag
(
find
.
byKey
(
SubCategoryScreenView
.
scrollKey
),
const
Offset
(
0
,
-
50.0
));
await
tester
.
pumpAndSettle
();
}
expect
(
tester
.
layers
.
lastWhere
((
Layer
element
)
=>
element
is
OpacityLayer
),
isA
<
OpacityLayer
>().
having
((
OpacityLayer
p0
)
=>
p0
.
alpha
,
'alpha'
,
lessThan
(
255
)),
);
for
(
int
i
=
0
;
i
<
11
;
i
++)
{
await
tester
.
drag
(
find
.
byKey
(
SubCategoryScreenView
.
scrollKey
),
const
Offset
(
0
,
-
50.0
));
await
tester
.
drag
(
find
.
byKey
(
SubCategoryScreenView
.
scrollKey
),
const
Offset
(
0
,
-
50.0
));
await
tester
.
pumpAndSettle
();
await
tester
.
pumpAndSettle
();
}
}
expect
(
RenderRebuildTracker
.
count
,
greaterThan
(
1
));
expect
(
RenderRebuildTracker
.
count
,
greaterThan
(
1
));
expect
(
tester
.
layers
.
whereType
<
OpacityLayer
>(),
isEmpty
);
});
});
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment