This plugin helps to create responsive widgets, that makes a auto-size with the proportion between reference screen size (width, height and shortest side(dpi)) with the screen that the app is running. The package only changed the original widgets, like "Container" to apply a function that make this calculation.
First of all you need to use the code ResponsiveWidgets().init(context)
to make the plugin works. The code need to be placed on the first screen of the app, inside of the build method, like this: See also in code
class _HomeScreenState extends State<HomeScreen> {
@override
Widget build(BuildContext context) {
ResponsiveWidgets().init(context,
referenceHeight: 1920, // Optional
referenceWidth: 1080, // Optional
referenceShortestSide: 411 // Optional, default = 360
);
return Scaffold(
body: Container()
);
}
}
ShortestSide is basically the dpi of the device, can be got by this code: MediaQuery.of(context).size.shortestSide;
Or be changed in the device in Config>Developer Options>Drawing Section>ShortestSide.
ContainerResponsive(
child: Widget,
height: double, // Responsive wight
heightResponsive: bool, // Enable/Disable Responsive height
width: double, // Responsive width
widthResponsive: , bool// Enable/Disable Responsive width
)
Padding(
child: Widget,
padding: EdgeInsetsResponsive.all(50), // EdgeInsets Responsive padding
)
IconResponsive(
icon,
size: double, // Responsive size
)
IconButtonResponsive(
icon: IconData,
size: double, // Responsive size,
onTap: (){}
)
TextResponsive(
text // Responsive fontSize
)
RaisedButtonResponsive(
child: Widget,
onPressed: (){}
)
Have special cases that doesn't have Responsive Widgets created, one of this cases is the Positioned, to solve this problem is simple use this function: ResponsiveWidgets().getSize(double size)
that will return the correct value to the screen.