flexify
Flexify é um pacote Flutter para design responsivo e navegação simplificada. Adapte facilmente interfaces a qualquer tamanho de tela e transições suaves entre páginas com animações personalizáveis.
Este pacote Flutter facilita a adaptação dos seus aplicativos a diferentes tamanhos de tela. Fácil de usar, oferece aos desenvolvedores a capacidade de ajustar automaticamente suas interfaces de acordo com as dimensões do dispositivo. Com este pacote, seu app fica ótimo em tudo, desde celulares pequenos até tablets grandes.
{"sdk":"flutter"}{"sdk":"flutter"}^4.0.0Texto original em inglês. Visite o GitHub para a versão atual.
Flexify is a comprehensive Flutter package that simplifies the creation of responsive user interfaces and enhances navigation with customizable animations. It allows you to easily adapt your app's layout to various screen sizes while providing a smooth and visually appealing navigation experience. With Flexify, scaling widgets proportionally and implementing advanced navigation transitions become effortless, making it an indispensable tool for Flutter developers.
MaterialApp and CupertinoApp.Add the following line to your pubspec.yaml file:
dependencies:
flexify: ^2.1.1
import 'package:flutter/material.dart';
import 'package:flexify/flexify.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
//Wrap your app with Flexify for initialize
return Flexify(
designWidth: 375,
designHeight: 812,
app: MaterialApp(
home: ExampleScreen(),
),
);
}
}
class FlexifyResponsiveWidget extends StatelessWidget {
const ExampleScreen({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
width: 250.rw, //responsive width
height: 250.rh, //responsive height
decoration: BoxDecoration(
color: Colors.blue,
borderRadius: BorderRadius.circular(25.rs), // responsive size
),
child: Center(
child: Text(
'This is a Responsive Text',
style: TextStyle(
fontSize: 22.rt, // responsive font-size
fontWeight: FontWeight.w700,
),
),
),
),
20.verticalSpace, // SizedBox(height:20.rh) responsive vertical space
20.horizontalSpace, // SizedBox(width: 20.rw) responsive horizontal space
],
),
),
);
}
}
Flexify.go(
NewScreen(),
animation: FlexifyRouteAnimations.fade,
duration: Duration(milliseconds: 500),
);
Flexify.goRemove(
NewScreen(),
animation: FlexifyRouteAnimations.slide,
duration: Duration(milliseconds: 500),
);
Flexify.goRemoveAll(
NewScreen(),
animation: FlexifyRouteAnimations.scale,
duration: Duration(milliseconds: 500),
);
Flexify.back();
FlexifyRouteAnimations.fade
FlexifyRouteAnimations.slide
FlexifyRouteAnimations.scale
FlexifyRouteAnimations.rotate
FlexifyRouteAnimations.zoom
FlexifyRouteAnimations.size
FlexifyRouteAnimations.elastic
FlexifyRouteAnimations.flip
FlexifyRouteAnimations.slideFromBottom,
FlexifyRouteAnimations.customFadeScale,
FlexifyRouteAnimations.blur,
FlexifyRouteAnimations.slideAndFade,
FlexifyRouteAnimations.rotateAndScale,
FlexifyRouteAnimations.flipAndFade,