Schaban

Add Docs

@@ -3,20 +3,32 @@ import 'package:flutter/widgets.dart'; @@ -3,20 +3,32 @@ import 'package:flutter/widgets.dart';
3 import '../../../get.dart'; 3 import '../../../get.dart';
4 import 'get_view.dart'; 4 import 'get_view.dart';
5 5
6 -abstract class GetResponsive<T> extends GetView<T> { 6 +abstract class _GetResponsive<T> extends GetView<T> {
7 final ResponsiveScreen screen; 7 final ResponsiveScreen screen;
8 - GetResponsive(ResponsiveScreenSettings settings, {Key key}) 8 + _GetResponsive(ResponsiveScreenSettings settings, {Key key})
9 : screen = ResponsiveScreen(settings), 9 : screen = ResponsiveScreen(settings),
10 super(key: key); 10 super(key: key);
11 11
12 Widget builder(); 12 Widget builder();
13 - Widget mobile(); 13 + Widget phone();
14 Widget tablet(); 14 Widget tablet();
15 Widget desktop(); 15 Widget desktop();
16 Widget watch(); 16 Widget watch();
17 } 17 }
18 18
19 -class GetResponsiveView<T> extends GetResponsive<T> { 19 +/// Extend this widget to build responsive view.
  20 +/// this widget contains the `screen` property that have all
  21 +/// information about the screen size and type.
  22 +/// You have two options to build it.
  23 +/// 1- with `builder` method you return the widget to build.
  24 +/// 2- with methods `desktop`, `tablet`,`phone`, `watch`. the specific
  25 +/// method will be built when the screen type matches the method
  26 +/// when the screen is [ScreenType.Tablet] the `tablet` method
  27 +/// will be exuded and so on.
  28 +/// Note if you use this method please set the
  29 +/// property `alwaysUseBuilder` to false
  30 +/// With `settings` property you can set the width limit for the screen types.
  31 +class GetResponsiveView<T> extends _GetResponsive<T> {
20 final bool alwaysUseBuilder = true; 32 final bool alwaysUseBuilder = true;
21 GetResponsiveView( 33 GetResponsiveView(
22 {alwaysUseBuilder, 34 {alwaysUseBuilder,
@@ -40,10 +52,10 @@ class GetResponsiveView<T> extends GetResponsive<T> { @@ -40,10 +52,10 @@ class GetResponsiveView<T> extends GetResponsive<T> {
40 if (widget != null) return widget; 52 if (widget != null) return widget;
41 } 53 }
42 if (screen.isPhone) { 54 if (screen.isPhone) {
43 - widget = mobile() ?? tablet() ?? desktop(); 55 + widget = phone() ?? tablet() ?? desktop();
44 if (widget != null) return widget; 56 if (widget != null) return widget;
45 } 57 }
46 - return watch() ?? mobile() ?? tablet() ?? desktop() ?? builder(); 58 + return watch() ?? phone() ?? tablet() ?? desktop() ?? builder();
47 } 59 }
48 60
49 @override 61 @override
@@ -53,7 +65,7 @@ class GetResponsiveView<T> extends GetResponsive<T> { @@ -53,7 +65,7 @@ class GetResponsiveView<T> extends GetResponsive<T> {
53 Widget desktop() => null; 65 Widget desktop() => null;
54 66
55 @override 67 @override
56 - Widget mobile() => null; 68 + Widget phone() => null;
57 69
58 @override 70 @override
59 Widget tablet() => null; 71 Widget tablet() => null;