Fix lerping for NavigationRailThemeData
icon themes (#120066)
* Fix lerping for NavigationRail icon themes * fix typo
This commit is contained in:
parent
5dbd281012
commit
f05a555bcb
@ -151,8 +151,10 @@ class NavigationRailThemeData with Diagnosticable {
|
||||
elevation: lerpDouble(a?.elevation, b?.elevation, t),
|
||||
unselectedLabelTextStyle: TextStyle.lerp(a?.unselectedLabelTextStyle, b?.unselectedLabelTextStyle, t),
|
||||
selectedLabelTextStyle: TextStyle.lerp(a?.selectedLabelTextStyle, b?.selectedLabelTextStyle, t),
|
||||
unselectedIconTheme: IconThemeData.lerp(a?.unselectedIconTheme, b?.unselectedIconTheme, t),
|
||||
selectedIconTheme: IconThemeData.lerp(a?.selectedIconTheme, b?.selectedIconTheme, t),
|
||||
unselectedIconTheme: a?.unselectedIconTheme == null && b?.unselectedIconTheme == null
|
||||
? null : IconThemeData.lerp(a?.unselectedIconTheme, b?.unselectedIconTheme, t),
|
||||
selectedIconTheme: a?.selectedIconTheme == null && b?.selectedIconTheme == null
|
||||
? null : IconThemeData.lerp(a?.selectedIconTheme, b?.selectedIconTheme, t),
|
||||
groupAlignment: lerpDouble(a?.groupAlignment, b?.groupAlignment, t),
|
||||
labelType: t < 0.5 ? a?.labelType : b?.labelType,
|
||||
useIndicator: t < 0.5 ? a?.useIndicator : b?.useIndicator,
|
||||
|
@ -227,6 +227,14 @@ void main() {
|
||||
expect(_indicatorDecoration(tester)?.color, indicatorColor);
|
||||
});
|
||||
|
||||
// Regression test for https://github.com/flutter/flutter/issues/118618.
|
||||
testWidgets('NavigationRailThemeData lerps correctly with null iconThemes', (WidgetTester tester) async {
|
||||
final NavigationRailThemeData lerp = NavigationRailThemeData.lerp(const NavigationRailThemeData(), const NavigationRailThemeData(), 0.5)!;
|
||||
|
||||
expect(lerp.selectedIconTheme, isNull);
|
||||
expect(lerp.unselectedIconTheme, isNull);
|
||||
});
|
||||
|
||||
testWidgets('Default debugFillProperties', (WidgetTester tester) async {
|
||||
final DiagnosticPropertiesBuilder builder = DiagnosticPropertiesBuilder();
|
||||
const NavigationRailThemeData().debugFillProperties(builder);
|
||||
|
Loading…
x
Reference in New Issue
Block a user