Comments (12)
Could you try running your application with the latest commit of
responsive_sizer
and tell me the result? Thanks!Add this to your
pubspec.yaml
dependencyresponsive_sizer: git: url: git://github.com/CoderUni/responsive_sizer.git ref: main
The issue is no longet exist!! Thank you very much!
from responsive_sizer.
Thanks for filing the issue. Someone was able to fix the issue by wrapping GetMaterialApp
with ResponsiveSizer
. Kindly update me if it doesn't work.
from responsive_sizer.
Thanks for filing the issue. Someone was able to fix the issue by wrapping
GetMaterialApp
withResponsiveSizer
. Kindly update me if it doesn't work.
I have tried both, wrapping GetMaterialApp
with ResponsiveSizer
and wrapping GetMaterialApp
child with ResponsiveSizer
but the issue exists.
It works fine in debug mode
yet it happens when I run flutter run --release
or flutter build apk --release
.
from responsive_sizer.
Any updates?
from responsive_sizer.
Hi @arbile26 I'll update you this weekend. I'm a bit busy right now so I couldn't look into it yet.
from responsive_sizer.
@arbile26 Just tested running the default counter app using GetMaterialApp
and ResponsiveSizer
. Could you post the output of flutter run --release
?
Mine seems to be running well:
import 'package:flutter/material.dart';
import 'package:get/get_navigation/get_navigation.dart';
import 'package:responsive_sizer/responsive_sizer.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return GetMaterialApp(
debugShowCheckedModeBanner: false,
home: ResponsiveSizer(builder: (context, orientation, screenType) {
return const MyHomePage(title: 'Flutter Demo Home Page');
}),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({Key? key, required this.title}) : super(key: key);
final String title;
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
int _counter = 0;
void _incrementCounter() {
setState(() {
_counter++;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
const Text(
'You have pushed the button this many times:',
),
Text(
'$_counter',
style: Theme.of(context).textTheme.headline4,
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: const Icon(Icons.add),
),
);
}
}
from responsive_sizer.
@arbile26 Just tested running the default counter app using
GetMaterialApp
andResponsiveSizer
. Could you post the output offlutter run --release
?Mine seems to be running well:
import 'package:flutter/material.dart'; import 'package:get/get_navigation/get_navigation.dart'; import 'package:responsive_sizer/responsive_sizer.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return GetMaterialApp( debugShowCheckedModeBanner: false, home: ResponsiveSizer(builder: (context, orientation, screenType) { return const MyHomePage(title: 'Flutter Demo Home Page'); }), ); } } class MyHomePage extends StatefulWidget { const MyHomePage({Key? key, required this.title}) : super(key: key); final String title; @override State<MyHomePage> createState() => _MyHomePageState(); } class _MyHomePageState extends State<MyHomePage> { int _counter = 0; void _incrementCounter() { setState(() { _counter++; }); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(widget.title), ), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ const Text( 'You have pushed the button this many times:', ), Text( '$_counter', style: Theme.of(context).textTheme.headline4, ), ], ), ), floatingActionButton: FloatingActionButton( onPressed: _incrementCounter, tooltip: 'Increment', child: const Icon(Icons.add), ), ); } }
I/flutter ( 7600): Null check operator used on a null value
I/flutter ( 7600): #0 _PagePosition.applyViewportDimension (package:flutter/src/widgets/page_view.dart:455)
I/flutter ( 7600): #1 RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1456)
I/flutter ( 7600): #2 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #3 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #4 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #5 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #6 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #7 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #8 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #9 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #10 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #11 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #12 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #13 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #14 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #15 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:171)
I/flutter ( 7600): #16 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1003)
I/flutter ( 7600): #17 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:240)
I/flutter ( 7600): #18 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:403)
I/flutter ( 7600): #19 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #20 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #21 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #22 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #23 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1376)
I/flutter ( 7600): #24 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #25 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #26 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #27 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:56)
I/flutter ( 7600): #28 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:552)
I/flutter ( 7600): #29 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:579)
I/flutter ( 7600): #30 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #31 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:171)
I/flutter ( 7600): #32 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1003)
I/flutter ( 7600): #33 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:240)
I/flutter ( 7600): #34 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:403)
I/flutter ( 7600): #35 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #36 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #37 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #38 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #39 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1376)
I/flutter ( 7600): #40 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #41 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #42 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #43 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #44 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #45 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #46 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #47 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:56)
I/flutter ( 7600): #48 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:552)
I/flutter ( 7600): #49 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:579)
I/flutter ( 7600): #50 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #51 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #52 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #53 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #54 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #55 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #56 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #57 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #58 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #59 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #60 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #61 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #62 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #63 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #64 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3462)
I/flutter ( 7600): #65 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #66 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #67 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #68 _RenderTheatre.performLayout (package:flutter/src/widgets/overlay.dart:749)
I/flutter ( 7600): #69 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #70 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #71 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #72 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #73 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #74 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #75 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #76 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #77 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #78 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #79 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #80 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #81 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #82 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116)
I/flutter ( 7600): #83 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #84 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:318)
I/flutter ( 7600): #85 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #86 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:318)
I/flutter ( 7600): #87 RenderObject.layout (package:flutter/src/rendering/object.dart:1915)
I/flutter ( 7600): #88 RenderView.performLayout (package:flutter/src/rendering/view.dart:165)
I/flutter ( 7600): #89 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1757)
I/flutter ( 7600): #90 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:887)
I/flutter ( 7600): #91 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:504)
I/flutter ( 7600): #92 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:892)
I/flutter ( 7600): #93 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:370)
I/flutter ( 7600): #94 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1146)
I/flutter ( 7600): #95 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1083)
I/flutter ( 7600): #96 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:997)
I/flutter ( 7600): (elided 3 frames from dart:async)
from responsive_sizer.
This issue might be coming from your PageView
. Could you try creating a new flutter project and run the code above?
I didn't get any errors when running the main.dart
code above in release mode using both flutter run --release
and flutter build apk --split-per-abi && flutter install
.
from responsive_sizer.
This issue might be coming from your
PageView
. Could you try creating a new flutter project and run the code above?I didn't get any errors when running the
main.dart
code above in release mode using bothflutter run --release
andflutter build apk --split-per-abi && flutter install
.
No, after a deep debugging, I have spotted the bug. Adaptive.sp()
is causing the issue.
This is my code:
import 'package:flutter/material.dart';
import 'package:get/get_navigation/get_navigation.dart';
import 'package:responsive_sizer/responsive_sizer.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return GetMaterialApp(
debugShowCheckedModeBanner: false,
home: ResponsiveSizer(builder: (context, orientation, screenType) {
return const MyHomePage(title: 'Flutter Demo Home Page');
}),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({Key? key, required this.title}) : super(key: key);
final String title;
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
int _counter = 0;
void _incrementCounter() {
setState(() {
_counter++;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'You have pushed the button this many times:',
style: TextStyle(fontSize: 10.sp.floorToDouble()),
),
Text(
'$_counter',
style: Theme.of(context).textTheme.headline4,
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: const Icon(Icons.add),
),
);
}
}
I ran flutter run --release
on a SM device running Android 11.
My flutter version is: 3.0.4
If you test the example that I've shared with you, you will see that the text disappears altogether but when we press on the floating action button that calls _incrementCounter()
function the text appears because the function contains setState()
.
from responsive_sizer.
This issue might be coming from your
PageView
. Could you try creating a new flutter project and run the code above?
I didn't get any errors when running themain.dart
code above in release mode using bothflutter run --release
andflutter build apk --split-per-abi && flutter install
.No, after a deep debugging, I have spotted the bug.
Adaptive.sp()
is causing the issue.This is my code:
import 'package:flutter/material.dart'; import 'package:get/get_navigation/get_navigation.dart'; import 'package:responsive_sizer/responsive_sizer.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return GetMaterialApp( debugShowCheckedModeBanner: false, home: ResponsiveSizer(builder: (context, orientation, screenType) { return const MyHomePage(title: 'Flutter Demo Home Page'); }), ); } } class MyHomePage extends StatefulWidget { const MyHomePage({Key? key, required this.title}) : super(key: key); final String title; @override State<MyHomePage> createState() => _MyHomePageState(); } class _MyHomePageState extends State<MyHomePage> { int _counter = 0; void _incrementCounter() { setState(() { _counter++; }); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(widget.title), ), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ Text( 'You have pushed the button this many times:', style: TextStyle(fontSize: 10.sp.floorToDouble()), ), Text( '$_counter', style: Theme.of(context).textTheme.headline4, ), ], ), ), floatingActionButton: FloatingActionButton( onPressed: _incrementCounter, tooltip: 'Increment', child: const Icon(Icons.add), ), ); } }I ran flutter
run --release
on a SM device running Android 11. My flutter version is: 3.0.4If you test the example that I've shared with you, you will see that the text disappears altogether but when we press on the floating action button that calls
_incrementCounter()
function the text appears because the function containssetState()
.
Edit: After more tests, I found that the whole package doesn't work until you call setState()
.
from responsive_sizer.
Thanks for the update. It seems like the issue is caused by LayoutBuilder
. The BoxConstraints
height and width seem to be equal to zero during the initial layout. Also tried using _ambiguate(WidgetsBinding.instance)!.window.physicalSize.width
and got the same result.
However, I've noticed that the build method always runs twice. The height and width returned during the first build will be zero but not the succeeding builds. The workaround was to build the widget only during the second and succeeding builds.
from responsive_sizer.
Could you try running your application with the latest commit of responsive_sizer
and tell me the result? Thanks!
Add this to your pubspec.yaml
dependency
responsive_sizer:
git:
url: git://github.com/CoderUni/responsive_sizer.git
ref: main
from responsive_sizer.
Related Issues (20)
- Can not use it with provider package.
- tree rebuilds when keyboard shows HOT 1
- How to use responsive sizer when using routes and initialroute instead of home in MaterialApp? HOT 2
- Sizes do not appear to be updating correctly on Windows maximise or restore using WidgetsBindingObserver HOT 1
- ../../../development/tools/flutter/.pub-cache/hosted/pub.dartlang.org/responsive_sizer-3.0.6+1/lib/src/helper.dart:56:33: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null. HOT 3
- Add Desktop ScreenType HOT 5
- two ResponsiveSizer HOT 2
- Sp and Dp way different than with sizer and are not interchangable HOT 7
- Error using any method HOT 1
- Does not reload the screen when the device changes from Portrait to Landscape HOT 2
- The Device Class variables apsectRatio, width, and height all Resize when Textfieldforms are used. HOT 2
- unfocus in flutter 3.10 HOT 1
- Changing the device text size setting affects the outputted UI. HOT 3
- ScreenType.desktop Issue HOT 4
- How to use responsive_sizer to achieve a responsive design using a Figma design with a specified phone frame? HOT 2
- Responsive sizer stops working properly, resizing issues HOT 2
- Is this keep maintained and work with flutter 3.20? HOT 1
- Undefined name 'View'. HOT 2
- error when use pixel 4 or 5 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from responsive_sizer.