I have an app that I am going to upload to the appstore and playstore pretty soon but I am worried that it might look funny on different phone screens that vary in sizes (The app is for mobile phones only no tablets) what's the best way to code for different screen sizes using flutter?
Try using LayoutBuilder for different layout size and OrientationBuilder for different orientation.
Check this: https://medium.com/flutter-community/developing-for-multiple-screen-sizes-and-orientations-in-flutter-fragments-in-flutter-a4c51b849434
You use MediaQuery for size determination.
And OrientationBuilder for orientation of the device.
Here is a nice article you might want to read.
Related
Wondering if there is a way to blanket "magnify" an entire screen layout including all widgets & properties such as text scaling etc.
I have discovered there are a few screens which can do best as a simple magnification instead of a completely different layout when going from mobile to tablet sizes. Is there a way to shortcut this as opposed to totally different layouts?
The end goal would be nearly exact same layout but every element on tablet is larger.
i have an application created by flutter dart but it is not responsive i mean when i try it in my phone it look Very amazing but in annoter phones It look so big and not good at all
im wondering if there is some thing i have to add it in my code to make it responsive in all kind of screens
You need to write a code that will be responsive to all screens
Use Mediaquery to get screen width and height and adjust the container sizes according to the screen width and height
And use Constraints to look your app screen perfect in all devices\n
Try expanded,Flexible widgets too
I think you are new to flutter and time goes on you will understand about that
since I am learning Flutter now for about a year, I am using several responsive layout functions to be sure that my app looks fine on each device. Normally, I am using MediaQuery with a factor for Containers and Cards and if I have Text inside, I use FittedBox with BoxFit.contain. So far, it works well, but from time to time I get an overflow, e.g. when my colleague opens the app on his IPhone 12 Emulator. Yesterday, he had an overflow inside the bottom nav bar. It was because of the icons and I do not know why this appears. I gave the bottom bar a defined height with MediaQuery and wrapped the icons inside fitted boxes. After that, I defined the icon size with Media Query as well, still no real improvment. The title, or the label is not displayed.
Well my question would be a general one: Since I have no real experience with other languages, I am not able to compare the effort which is neccessary to have a responsive layout to other languages, but maybe an experienced developer can give me some tips how to improve the workflow of having a responsive layout. We want to launch in the app stores in August and the fear of having overflows on several devices drives me crazy. In this case, it is more a responsiveness to many mobile devices rather than having a good layout on mobile, desktop, tablet. So please, tell me about your approaches. It would really help me!
Regards!
See for responsive design, try to use the Padding and the Expanded Widgets the Most.
They are most useful when designing responsive screens.
Also, you can see other layout widgets here.
Dont use specific pixels (numbers) to limit the size of anything, try making it dynamic based on screen size.
Between phone and desktop, make 2 layouts and switch them as needed.
Between different sized phones, padding should do the work.
We are going to develop a mobile app using flutter. This app supports only mobile devices and only portrait mode.
How to make the app works on all mobile devices with less amount of effort.
I have read some tutorials about Layout Builder, Aspect Ratio, Orientation builder. But I feel they will be very much helpful when we are going to support multiple platforms like web, Desktop, Mobile landscape mode.
Since my app supports only portrait mode(Mobile). Do we have any tricks to make the app responsive in less amount of time?
It does not matter your app supports only portrait mode on Mobile. You still need a responsive design for different sized mobile phones. As you answered yourself, you can use the following properties of Flutter to get a highly responsive design:
LayoutBuilder
MediaQuery
AspectRatio
FittedBox
FractionallySizedBox
OrientationBuilder
In addition to all, you can look here for more.
you can use the responsive_builder package for this, or responsive_framework.
And use also widgets for responsiveness, for example Expanded, Flexible, LayoutBuilder, among others...
My app is in landscape and I am using kGADAdSizeSmartBannerLandscape to create banners across the screen. I am using AdMob Mediation with AdMob and iAd only.
The thing is, these size ads (480x32)or(960x64) are text only for the iphone. Does anyone have any experience of these size and type of ads. Can I expect a reduced fill rate?
The alternative is to use the standard portrait banner size which means the ad will not stretch across the whole screen and will be much fatter.
Thanks
The best practice is to use the ad size that best fits your application.
AdMob Text ads can be manipulated to fit the full width size. Images can't change their resolution, but since 480x32 is a popular format for iPhone, there may also be AdMob image inventory for this size at some point.