flutter_waya

Example 运行 Example 查看使用

初始化 navigatorKey 两种方式

/// 设置你自己的 navigatorKey
void setGlobalNavigatorKey() {
  GlobalOptions().setGlobalNavigatorKey(navigatorKey);
}

/// 使用自己的 MaterialApp
class _CustomAppState extends State<_App> {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        debugShowCheckedModeBanner: false,
        navigatorKey: GlobalOptions().globalNavigatorKey,
        title: 'Waya UI',
        home: _Home());
  }
}

/// 根组件使用  ExtendedWidgetsApp , 默认 移出 banner
class _AppState extends State<_App> {
  @override
  Widget build(BuildContext context) {
    return ExtendedWidgetsApp(
        title: 'Waya UI', home: _Home(), pushStyle: RoutePushStyle.material);
  }
}

  • Scaffold 使用 ExtendedScaffold 可自动管理 android 物理返回键 关闭 toast loading 等各种弹窗,以及多种功能

extension 扩展方法

utils 工具类

UI组件

  • button

    • DropdownMenuButton() 仿官方 DropdownButton 不遮挡默认
    • LiquidButton() 流体按钮
    • ElasticButton() 弹性按钮
  • swiper

    • Indicator() 指示器
    • FlSwiper() 轮播图
  • progress

    • LiquidProgress() 流体progress
    • Progress() 普通动画progress
  • ExtendedWidgetsApp() 根组件使用 ExtendedWidgetsApp()可直接使用push() pop() 等多个路由方法和showDialogPopup(),showBottomPopup(),showCupertinoBottomPopup() ,showDoubleChooseWindows(),showOverlay(),showLoading(),showToast(),无需传 context ,随处打开,关闭 以上弹窗或页面 必须使用 closePopup()或直接 pop(),

  • ExtendedScaffold() 添加 onWillPop() RefreshConfig padding margin decoration isStack isScroll children 等多个参数

  • ListWheel() 实现 picker 功能的滚动组件

  • ExtendedScrollView() 实现 自适应高度的 ExtendedSliverPersistentHeader()ExtendedSliverAppBar() ExtendedFlexibleSpaceBar() 无需设置 expandedHeight

  • ScrollList() 合并 ListView()GridView() 并添加 下拉刷新 和 上拉加载 功能

  • Universal()中合多个官方组件功能 减少嵌套

更新指南

  • 1.20.0 更新 添加跳转至滚动组件指定下标 无论是ListViewGridView,无论使用SliverChildBuilderDelegate() 代理,或是SliverChildListDelegate() 都可以使用
  • 1.16.2 修改指南

Libraries

ali_oss
anchor_scroll_list
area
bubble_button
builder
check_box
components
constant
constant
context_extension
cookies_interceptor
counter
debugger_interceptor
des
des_engine
dio
dotted_line
draggable_scrollbar
elastic_button
element
event
extended_scroll_view
extended_widgets
extension
flutter_waya
gesture
global_options
icon
indicator
input_text
json_parse
liquid_progress
list_view
list_wheel
logger_interceptor
media_query
num_extension
object_extension
overlay
pagination
permuted
picker
progress
render
screen_adaptation
scroll_view
simple_refresh
sliver
spin_kit
string_extension
swiper
switch
tab_bar
text
universal
utils
wave
way
widget_extension
widgets