Toggle navigation
Toggle navigation
This project
Loading...
Sign in
flutter_package
/
fluttertpc_get
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
Schaban
2020-12-05 16:06:28 +0100
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
e8c316710d3d60a3070bebfe402124a6b7d7afa9
e8c31671
1 parent
f5731508
Add Docs
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
19 additions
and
7 deletions
lib/get_state_manager/src/simple/get_responsive.dart
lib/get_state_manager/src/simple/get_responsive.dart
View file @
e8c3167
...
...
@@ -3,20 +3,32 @@ import 'package:flutter/widgets.dart';
import
'../../../get.dart'
;
import
'get_view.dart'
;
abstract
class
GetResponsive
<
T
>
extends
GetView
<
T
>
{
abstract
class
_
GetResponsive
<
T
>
extends
GetView
<
T
>
{
final
ResponsiveScreen
screen
;
GetResponsive
(
ResponsiveScreenSettings
settings
,
{
Key
key
})
_
GetResponsive
(
ResponsiveScreenSettings
settings
,
{
Key
key
})
:
screen
=
ResponsiveScreen
(
settings
),
super
(
key:
key
);
Widget
builder
();
Widget
mobil
e
();
Widget
phon
e
();
Widget
tablet
();
Widget
desktop
();
Widget
watch
();
}
class
GetResponsiveView
<
T
>
extends
GetResponsive
<
T
>
{
/// Extend this widget to build responsive view.
/// this widget contains the `screen` property that have all
/// information about the screen size and type.
/// You have two options to build it.
/// 1- with `builder` method you return the widget to build.
/// 2- with methods `desktop`, `tablet`,`phone`, `watch`. the specific
/// method will be built when the screen type matches the method
/// when the screen is [ScreenType.Tablet] the `tablet` method
/// will be exuded and so on.
/// Note if you use this method please set the
/// property `alwaysUseBuilder` to false
/// With `settings` property you can set the width limit for the screen types.
class
GetResponsiveView
<
T
>
extends
_GetResponsive
<
T
>
{
final
bool
alwaysUseBuilder
=
true
;
GetResponsiveView
(
{
alwaysUseBuilder
,
...
...
@@ -40,10 +52,10 @@ class GetResponsiveView<T> extends GetResponsive<T> {
if
(
widget
!=
null
)
return
widget
;
}
if
(
screen
.
isPhone
)
{
widget
=
mobil
e
()
??
tablet
()
??
desktop
();
widget
=
phon
e
()
??
tablet
()
??
desktop
();
if
(
widget
!=
null
)
return
widget
;
}
return
watch
()
??
mobil
e
()
??
tablet
()
??
desktop
()
??
builder
();
return
watch
()
??
phon
e
()
??
tablet
()
??
desktop
()
??
builder
();
}
@override
...
...
@@ -53,7 +65,7 @@ class GetResponsiveView<T> extends GetResponsive<T> {
Widget
desktop
()
=>
null
;
@override
Widget
mobil
e
()
=>
null
;
Widget
phon
e
()
=>
null
;
@override
Widget
tablet
()
=>
null
;
...
...
Please
register
or
login
to post a comment