コード例 #1
0
ファイル: app.cs プロジェクト: MaxAkbar/com.unity.uiwidgets
 public override Widget build(BuildContext context)
 {
     return(new MediaQuery(
                data: MediaQueryData.fromWindow(window: WidgetsBinding.instance.window),
                child: widget.child
                ));
 }
コード例 #2
0
        public override Widget build(BuildContext context)
        {
            D.assert(WidgetsD.debugCheckHasMediaQuery(context));
            MediaQueryData data    = MediaQuery.of(context);
            EdgeInsets     padding = data.padding;

            if (data.padding.bottom == 0.0 && data.viewInsets.bottom != 0.0 && maintainBottomViewPadding)
            {
                padding = padding.copyWith(bottom: data.viewPadding.bottom);
            }
            return(new Padding(
                       padding: EdgeInsets.only(
                           left: Mathf.Max(left ? padding.left : 0.0f, minimum.left),
                           top: Mathf.Max(top ? padding.top : 0.0f, minimum.top),
                           right: Mathf.Max(right ? padding.right : 0.0f, minimum.right),
                           bottom: Mathf.Max(bottom ? padding.bottom : 0.0f, minimum.bottom)
                           ),
                       child: MediaQuery.removePadding(
                           context: context,
                           removeLeft: left,
                           removeTop: top,
                           removeRight: right,
                           removeBottom: bottom,
                           child: child)));
        }
コード例 #3
0
ファイル: app.cs プロジェクト: yczhangsjtu/UIWidgets
        public override Widget build(BuildContext context)
        {
            Widget navigator = null;

            if (this._navigator != null)
            {
                navigator = new Navigator(
                    key: this._navigator,
                    initialRoute: this.widget.initialRoute ?? Navigator.defaultRouteName,
                    onGenerateRoute: this._onGenerateRoute,
                    onUnknownRoute: this._onUnknownRoute,
                    observers: this.widget.navigatorObservers
                    );
            }


            Widget result;

            if (this.widget.builder != null)
            {
                result = new Builder(
                    builder: _context => { return(this.widget.builder(_context, navigator)); }
                    );
            }
            else
            {
                D.assert(navigator != null);
                result = navigator;
            }

            if (this.widget.textStyle != null)
            {
                result = new DefaultTextStyle(
                    style: this.widget.textStyle,
                    child: result
                    );
            }

            D.assert(() => {
                if (WidgetInspectorService.instance.debugShowInspector)
                {
                    result = new WidgetInspector(null, result, this._InspectorSelectButtonBuilder);
                }

                return(true);
            });

            result = new Directionality(child: result, TextDirection.ltr);
            result = new WindowProvider(
                window: this.widget.window,
                child: result
                );

            result = new MediaQuery(
                data: MediaQueryData.fromWindow(this.widget.window),
                child: result
                );

            return(result);
        }
コード例 #4
0
ファイル: media_query.cs プロジェクト: wxFancer/UIWidgets
 public MediaQuery(
     Key key             = null,
     MediaQueryData data = null,
     Widget child        = null
     ) : base(key, child)
 {
     D.assert(child != null);
     D.assert(data != null);
     this.data = data;
 }
コード例 #5
0
        protected override List <Widget> buildSlivers(BuildContext context)
        {
            Widget sliver = buildChildLayout(context);

            EdgeInsetsGeometry effectivePadding = padding;

            if (padding == null)
            {
                MediaQueryData mediaQuery = MediaQuery.of(context, nullOk: true);
                if (mediaQuery != null)
                {
                    EdgeInsets mediaQueryHorizontalPadding =
                        mediaQuery.padding.copyWith(top: 0.0f, bottom: 0.0f);
                    EdgeInsets mediaQueryVerticalPadding =
                        mediaQuery.padding.copyWith(left: 0.0f, right: 0.0f);
                    effectivePadding = scrollDirection == Axis.vertical
                        ? mediaQueryVerticalPadding
                        : mediaQueryHorizontalPadding;
                    sliver = new MediaQuery(
                        data: mediaQuery.copyWith(
                            padding: scrollDirection == Axis.vertical
                                ? mediaQueryHorizontalPadding
                                : mediaQueryVerticalPadding
                            ),
                        child: sliver
                        );
                }
            }

            if (effectivePadding != null)
            {
                sliver = new SliverPadding(padding: effectivePadding, sliver: sliver);
            }

            return(new List <Widget> {
                sliver
            });
        }
コード例 #6
0
ファイル: app.cs プロジェクト: silingfei/UIWidgets
        public override Widget build(BuildContext context)
        {
            Widget navigator = null;

            if (this._navigator != null)
            {
                navigator = new Navigator(
                    key: this._navigator,
                    initialRoute: this.widget.initialRoute ?? Navigator.defaultRouteName,
                    onGenerateRoute: this._onGenerateRoute,
                    onUnknownRoute: this._onUnknownRoute,
                    observers: this.widget.navigatorObservers
                    );
            }


            Widget result;

            if (this.widget.builder != null)
            {
                result = new Builder(
                    builder: _context => { return(this.widget.builder(_context, navigator)); }
                    );
            }
            else
            {
                D.assert(navigator != null);
                result = navigator;
            }

            if (this.widget.textStyle != null)
            {
                result = new DefaultTextStyle(
                    style: this.widget.textStyle,
                    child: result
                    );
            }

            PerformanceOverlay performanceOverlay = null;

            if (this.widget.showPerformanceOverlay)
            {
                performanceOverlay = PerformanceOverlay.allEnabled();
            }

            if (performanceOverlay != null)
            {
                result = new Stack(
                    children: new List <Widget> {
                    result,
                    new Positioned(top: 0.0f,
                                   left: 0.0f,
                                   right: 0.0f,
                                   child: performanceOverlay)
                });
            }

            D.assert(() => {
                if (WidgetInspectorService.instance.debugShowInspector)
                {
                    result = new WidgetInspector(null, result, this._InspectorSelectButtonBuilder);
                }

                return(true);
            });

            result = new Directionality(child: result, TextDirection.ltr);
            result = new WindowProvider(
                window: this.widget.window,
                child: result
                );

            Locale appLocale = this.widget.locale != null
                ? this._resolveLocales(new List <Locale> {
                this.widget.locale
            }, this.widget.supportedLocales)
                : this._locale;

            result = new MediaQuery(
                data: MediaQueryData.fromWindow(this.widget.window),
                child: new Localizations(
                    locale: appLocale,
                    delegates: this._localizationsDelegates,
                    child: result)
                );

            return(result);
        }