Showing
1 changed file
with
12 additions
and
11 deletions
| @@ -26,23 +26,24 @@ class GetResponsiveView<T> extends GetResponsive<T> { | @@ -26,23 +26,24 @@ class GetResponsiveView<T> extends GetResponsive<T> { | ||
| 26 | @override | 26 | @override |
| 27 | Widget build(BuildContext context) { | 27 | Widget build(BuildContext context) { |
| 28 | screen.context = context; | 28 | screen.context = context; |
| 29 | + Widget widget; | ||
| 29 | if (alwaysUseBuilder) { | 30 | if (alwaysUseBuilder) { |
| 30 | - return builder(); | 31 | + widget = builder(); |
| 32 | + if (widget != null) return widget; | ||
| 31 | } | 33 | } |
| 32 | - Widget widget; | ||
| 33 | if (screen.isDesktop) { | 34 | if (screen.isDesktop) { |
| 34 | - widget = desktop(); | 35 | + widget = desktop() ?? widget; |
| 35 | if (widget != null) return widget; | 36 | if (widget != null) return widget; |
| 36 | } | 37 | } |
| 37 | if (screen.isTablet) { | 38 | if (screen.isTablet) { |
| 38 | - widget = tablet(); | 39 | + widget = tablet() ?? desktop(); |
| 39 | if (widget != null) return widget; | 40 | if (widget != null) return widget; |
| 40 | } | 41 | } |
| 41 | - if (screen.isMobile) { | ||
| 42 | - widget = mobile(); | 42 | + if (screen.isPhone) { |
| 43 | + widget = mobile() ?? tablet() ?? desktop(); | ||
| 43 | if (widget != null) return widget; | 44 | if (widget != null) return widget; |
| 44 | } | 45 | } |
| 45 | - return watch(); | 46 | + return watch() ?? mobile() ?? tablet() ?? desktop() ?? builder(); |
| 46 | } | 47 | } |
| 47 | 48 | ||
| 48 | @override | 49 | @override |
| @@ -103,7 +104,7 @@ class ResponsiveScreen { | @@ -103,7 +104,7 @@ class ResponsiveScreen { | ||
| 103 | bool get isTablet => (screenType == ScreenType.Tablet); | 104 | bool get isTablet => (screenType == ScreenType.Tablet); |
| 104 | 105 | ||
| 105 | /// Is [screenType] [ScreenType.Mobile] | 106 | /// Is [screenType] [ScreenType.Mobile] |
| 106 | - bool get isMobile => (screenType == ScreenType.Mobile); | 107 | + bool get isPhone => (screenType == ScreenType.Phone); |
| 107 | 108 | ||
| 108 | /// Is [screenType] [ScreenType.Watch] | 109 | /// Is [screenType] [ScreenType.Watch] |
| 109 | bool get isWatch => (screenType == ScreenType.Watch); | 110 | bool get isWatch => (screenType == ScreenType.Watch); |
| @@ -120,7 +121,7 @@ class ResponsiveScreen { | @@ -120,7 +121,7 @@ class ResponsiveScreen { | ||
| 120 | if (deviceWidth >= settings.desktopChangePoint) return ScreenType.Desktop; | 121 | if (deviceWidth >= settings.desktopChangePoint) return ScreenType.Desktop; |
| 121 | if (deviceWidth >= settings.tabletChangePoint) return ScreenType.Tablet; | 122 | if (deviceWidth >= settings.tabletChangePoint) return ScreenType.Tablet; |
| 122 | if (deviceWidth < settings.watchChangePoint) return ScreenType.Watch; | 123 | if (deviceWidth < settings.watchChangePoint) return ScreenType.Watch; |
| 123 | - return ScreenType.Mobile; | 124 | + return ScreenType.Phone; |
| 124 | } | 125 | } |
| 125 | 126 | ||
| 126 | /// Return widget according to screen type | 127 | /// Return widget according to screen type |
| @@ -137,14 +138,14 @@ class ResponsiveScreen { | @@ -137,14 +138,14 @@ class ResponsiveScreen { | ||
| 137 | }) { | 138 | }) { |
| 138 | if (isDesktop && desktop != null) return desktop; | 139 | if (isDesktop && desktop != null) return desktop; |
| 139 | if (isTablet && tablet != null) return tablet; | 140 | if (isTablet && tablet != null) return tablet; |
| 140 | - if (isMobile && mobile != null) return mobile; | 141 | + if (isPhone && mobile != null) return mobile; |
| 141 | return watch; | 142 | return watch; |
| 142 | } | 143 | } |
| 143 | } | 144 | } |
| 144 | 145 | ||
| 145 | enum ScreenType { | 146 | enum ScreenType { |
| 146 | Watch, | 147 | Watch, |
| 147 | - Mobile, | 148 | + Phone, |
| 148 | Tablet, | 149 | Tablet, |
| 149 | Desktop, | 150 | Desktop, |
| 150 | } | 151 | } |
-
Please register or login to post a comment