Argo는 반응형 애플리케이션을 쉽게 만들 수 있도록 설계된 Flutter/Dart 패키지입니다. 디바이스 크기에 따라 가시성, 화면 방향 및 적응형 레이아웃을 관리하기 위한 위젯과 유틸리티를 제공합니다. 다양한 화면 컨텍스트에 맞춰 동적으로 테마를 처리할 수 있도록 지원하여 기기 간 일관된 사용자 경험을 보장합니다. `flutter pub add argo`를 통해 최소한의 설정으로 복잡한 조건 로직 없이 반응형 UI를 쉽게 구현할 수 있습니다. 유연한 레이아웃과 다기기 호환성이 필요한 앱에 이상적입니다.
사용 사례
반응형 대시보드 구축
적응형 모바일 및 태블릿 인터페이스 만들기
방향 인식 레이아웃 구현
화면 크기에 따라 테마 변형 관리
다중 플랫폼 플러터 앱 개발
주요 기능
반응형 레이아웃 관리
방향 인식 위젯
동적 가시성 제어
화면 크기 기반 테마
`pub add`와의 간편한 통합
적합한 대상
모바일 및 태블릿 앱 개발자
반응형 레이아웃에 초점을 맞춘 디자이너
크로스 디바이스 앱을 개발하는 팀
적응형 UI가 필요한 Flutter 프로젝트
동적 테마 전환을 필요로 하는 앱
고려 사항
제한된 플랫폼별 문서
현재 릴리스에서는 웹 또는 데스크톱에 대한 명시적인 지원이 없습니다
고급 사용 사례를 위해 수동 구성에 의존합니다
기기 크기에 따라 추가 테스트가 필요할 수 있습니다
원본 README
연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.
Widgets and tools for make it easy to create responsive apps for mobile, tablet and web. To handle visibility, orientation and handle diferent layout depend of screen.
That's it!
This widget allows to configurate the WrapperConfig.
You can make the manage for Responsive Theme
ScreenBreakpoints
Are the control points that tells ResponsiveWrapper to change the DeviceScreen.
This is an upper or lower limit depends on how it is configured compared with Size.width.
Also it serves to do comparisons with the Condition class.
SBValue save a value that means Size.width.
Responsive Widgets
ResponsiveVisibility
Widget to show or hide a child depending of the Condition.
You can override the globalBreakpoints for localBreakpoints
This widget show different widget depending of screen type, the condition configuration in ResponsiveWrapper,
you can override the globalBreakpoints for localBreakpoints.
In some moments you return and RBuilder, this typedef have the context and ResponsiveInformation.
With ResponsiveInformation allows change the basic structure and improve the versatility.
This generic widget to handle responsive builder, this widget return the context and ResponsiveInformation.
ResponsiveInformation is data class to handle responsive information for the widget.
ResponsiveInformation have orientation, localSize, ScreenSize, currentBreakpoints and DeviceScreen.
This widget is it create views depending of their orientation.
The widget is build with RBuilder, this typedef have the context and ResponsiveInformation.
You can get single value from ConditionBreakpoint List
It's goal is to have more modular conditions compared it with differents breakpoint we can use this to create more complex conditions. And you have three different construtors:
ConditionBreakpoint.equalsConditionBreakpoint.largerThan, ConditionBreakpoint.smallerThan
You can get from the context info for make it easy the responsive apps
context.widthPx = Returns same asMediaQuery.of(context).size.width
context.heightPx = Returns same asMediaQuery.of(context).size.height
context.theme = GettingTheme
context.widthPct(10) = Returns percent (1-100) of screen width in pixels
...
Responsive Theme
Data class to handle the theme responsive information, this class may be used from ResponsiveWrapper
It's used from ResponsiveWrapper to get the value for the currentBreakpoints
Use differents conditions to store the themes.
The advantage is that you can create all the classes with IThemeDataRule for the configurations the app need.
Flutter is a game-changing technology that will revolutionize not just development, but software itself. A big thank you to the Flutter team for building such an amazing platform 💙
MIT License
Copyright (c) 2021 James Cardona
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.