Package selection guidance compiled from public package information, community data, and project usage.
Screentasia is a Flutter package designed to simplify the creation of responsive, adaptive UIs across all screen sizes and platforms. It provides tools for scalable layouts, dynamic typography, and consistent spacing, ensuring designs look polished on Android, iOS, Web, macOS, Windows, and Linux. With built-in utilities for handling different screen densities and orientations, it reduces boilerplate code and streamlines responsive development. Ideal for apps requiring pixel-perfect adaptability without sacrificing maintainability.
Use cases
Cross-platform app development
Responsive layout design
Adaptive typography scaling
Consistent UI across device sizes
Dynamic spacing adjustments
Multi-screen optimization
Key features
Built-in responsive utilities
Platform-agnostic design support
Automatic scaling for screens
Flexible layout components
Orientation-aware rendering
Typography and spacing adaptability
Suitable for
Developers building multi-platform apps
Teams prioritizing UI consistency
Projects with diverse device requirements
Designers collaborating with developers
Apps targeting multiple screen sizes
Considerations
Requires understanding of responsive design principles
May add slight overhead for simple apps
Best suited for complex UIs
Needs integration with existing layout structure
Limited customization in some built-in widgets
Original README
Original README snapshot from the linked source repository. Visit the repository for the latest content.
Screentasia
Level Up Your UI, Enjoyable & Simple
#1 Best Screens UI Package
✨ Give a star for the Repo ✨
Screentasia
A Flutter package that helps you create beautifully adaptive designs for all screens with a wealth of features.
Features
🚀 Adaptive From: To adaptive sizes from different screens like Mobile, Tablet, Desktop
⚡️ Adaptive Percentage: To customize Adaptive percentage for different screens sizes in percentage for the hole app or for a specific widget
➗️ Percentage Sizes: Now you can customize width and height as percentages from screen
❤️ As you want: You can disable Adaptive for specific screens just passing 0
🏋♂️️ No Media Query: No need for Media Query no more
Usage
Add dependency
Please check the latest version before installation.
If there is any problem with the new version, please use the previous version
Used to adapt sizes from chosen screen ex: if 500 width on a desktop is equal to 50% of the screen width, will be equal to 50% to all screens,also you can use custom screen with customScreen method
In this example we will use only width for all situations to use adaptive values,Of course we can apply that concept in (Height,Font,Padding,etc)
Example using Values
We can create adaptive value for (width,height,font,etc) based on value in specific device for example (Mobile,Tablet,Desktop) or specific device dimension ( width,height )
Screentasia().setWidth(540) (dart sdk>=2.6 ) another way (540.w) //Adapted to screen width
Screentasia().setHeight(200) (dart sdk>=2.6 ) another way (200.h) //Adapted to screen height, under normal circumstances, the height still uses x.w
Screentasia().radius(200) (dart sdk>=2.6 ) another way (200.r) //Adapt according to the smaller of width or height
Screentasia().setSp(24) (dart sdk>=2.6 ) another way (24.sp) //Adapter font
Screentasia().setPercentage(MediaQuery.sizeOf(context).width,50) (dart sdk>=2.6 : 50.wp) //Device width in Percentage, You can use Height just replace MediaQuery.sizeOf(context).width with MediaQuery.sizeOf(context).height
EdgeInsets.all(10).w //EdgeInsets.all(10.w)
EdgeInsets.only(left:8,right:8).r // EdgeInsets.only(left:8.r,right:8.r).
Radius.circular(16).w //Radius.circular(16.w)
BorderRadius.all(Radius.circular(16)).w
ap(tablet:50) //adaptive percentage, tablet 50 means that adaptive percentage 50% only on tablet screens, the default is 100% for all screens