v2.1.1
flexify
Flexify 是一個用於響應式設計和簡化導航的 Flutter 套件。輕鬆將介面適配到任何螢幕尺寸,並透過可自訂的動畫實現流暢的頁面過渡。
48喜歡 156近 30 天下載160Pub 分數
AndroidiOSWebmacOSWindowsLinux
這個 Flutter 套件讓您的應用程式輕鬆適應不同的螢幕尺寸。使用簡單,它為開發者提供根據裝置尺寸自動調整介面的能力。使用此套件,您的應用程式在從小型手機到大型平板電腦的各種設備上都能呈現出眾的外觀。
{"sdk":"flutter"}{"sdk":"flutter"}^4.0.0以下為英文專案原文快照,最新內容請造訪 GitHub。
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,