Flutter Responsive는 부트스트랩의 적응형 디자인 접근 방식을 영감으로 삼아 Flutter에서 반응형 사용자 인터페이스를 만들기 위해 설계된 레이아웃 위젯 세트를 제공합니다. 개발자는 다양한 화면 크기와 방향에 자동으로 조정되는 레이아웃을 구축할 수 있으며, 여러 플랫폼에서 작동합니다. 복잡한 사용자 정의 로직 없이도 유연한 그리드, 브레이크포인트 및 반응형 컴포넌트의 구현을 간소화합니다. 모바일, 태블릿, 웹, 데스크톱 장치에서 일관된 UI가 필요한 앱에 이상적입니다.
사용 사례
크로스 플랫폼 반응형 대시보드 구축
모바일 및 웹을 위한 적응형 레이아웃 만들기
태블릿 및 데스크톱용 확장 가능한 UI 설계
그리드 기반 반응형 디자인 구현
장치 유형 간에 일관된 UX 보장
주요 기능
브레이크포인트 기반 레이아웃 조정
유연한 그리드 시스템
크로스 플랫폼 호환성
부트스트랩을 영감으로 한 디자인 패턴
기존 Flutter 프로젝트와의 간편한 통합
적합한 대상
다양한 플랫폼을 대상으로 하는 개발자
반응형 관리 패널을 구축하는 팀
적응형 UI가 필요한 프로젝트
프론트엔드 중심의 플러터 애플리케이션
다양한 화면 크기 요구 사항을 가진 앱
고려 사항
새로운 위젯 규약을 배워야 할 수 있습니다
수동 레이아웃 코드 작성에 비해 사용자 정의가 제한적입니다
플랫폼 고유의 렌더링 동작에 따라 다릅니다
일반 그리드 레이아웃에 가장 적합
매우 동적 또는 그리드가 아닌 UI에는 적합하지 않음
원본 README
연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.
About flutter_responsive plugin
This plugin provides a easy and productive way to work with responsive layouts for Flutter Applications in mobile, desktop and web, allowing your layout to adapt and wrap widgets ( Container, Rows, Columns and RichText ) referent to the size of his parent element.
This project follows the GNU General Public License V3, wich means you can change the entire project the way as you want to, but you need to share your improvements back to the community.
To share your improvements, please first do a Fork of this project, change what you need to and finally do a pull request. And don´t let to share your ideas and needs on "Issues" page, even before to start your changes.
IMPORTANT NOTES:
This plugin was based on Bootstrap Web Project, but do not implement all its features (not yet).
The column's layer responsiveness is based on the size of the global screen, such as Bootstrap does.
All the widgets contains margin, padding, width, height (maximum and minimum edges), such as div Html element.
Fell free to improve and change this project.
How to Use
Add the dependency bellow into your pubspec.yaml file.
dependencies:flutter_responsive:^0.0.6#Please, ensure to use the most updated version
ResponsiveRow: Container wich contains many columns or even other widget.
OBS: Its not necessary to wrap inner widgets into a ResponsiveCol object.
ResponsiveRow(
margin: EdgeInsets.only(top: 20, bottom: 5),
children: <Widget>[
ResponsiveCol(),
ResponsiveCol(),
ResponsiveCol(),
Text('It´s fine to use another widget directly inside a ResponsiveRow')
]
),
This project is a starting point for a Flutter
plug-in package,
a specialized package that includes platform-specific implementation code for
Android and/or iOS.
For help getting started with Flutter, view our
online documentation, which offers tutorials,
samples, guidance on mobile development, and a full API reference.
To run the full example App, wich contains performance and case tests, do the steps bellow:
Clone this project into your local machine using Github Desktop or any other git program of your preference.
Download Android Studio and the last Flutter SDK into your local machine. Configure they to works properly such as this article here
Run flutter pub get to update all the dependencies
Debug the file example/lib/main.dart or any of the unity case tests located on test folder on emulator or real device.
To run properly the performance tests, please run the app using flutter run --release