您的位置:

FlutterRow:Flutter的一款UI组件库

一、简介

FlutterRow 是一款基于Flutter开发的UI组件库,涵盖了众多常用的UI组件,使得开发人员能够更加便捷地进行UI界面开发。FlutterRow 提供了丰富的样式主题,开发人员可以根据需求选择不同的样式主题,也可以自定义样式主题,使得应用具有更好的视觉效果。此外,FlutterRow 也提供了丰富的UI交互、动画效果,让应用具有更好的用户体验。

二、使用

在使用 FlutterRow 之前,需要在Flutter项目的 pubspec.yaml 文件中添加如下依赖:

dependencies:
  flutter_row: ^0.0.1

添加完依赖后,在项目中引入 FlutterRow 组件库:

import 'package:flutter_row/flutter_row.dart';

然后就可以在项目中使用 FlutterRow 提供的组件了。例如,创建一个按钮可以使用如下代码:

FRRaisedButton(
  onPressed: ()=>{},
  text: 'Click me',
);

三、组件

1. FRButton

按钮是一个常用的UI组件,FlutterRow 提供了多种不同类型的按钮,如普通按钮、带有图标的按钮、带有边框的按钮等。代码示例如下:

FRRaisedButton(
  onPressed: ()=>{},
  text: 'Click me',
);

FRIconButton(
  onPressed: ()=>{},
  icon: Icon(Icons.add),
);

FRBorderButton(
  onPressed: ()=>{},
  text: 'Click me',
);

2. FRText

文本是应用中必不可少的UI组件,FlutterRow 提供了丰富的文本样式。代码示例如下:

FRText('This is default text style. ');

FRText('This is bold text style. ',style: TextStyle(fontWeight: FontWeight.bold));

FRText('This is red color text style. ',style: TextStyle(color: Colors.red));

FRText('This is font size 30 text style. ',style: TextStyle(fontSize: 30));

3. FRInput

输入框是应用中常用的UI组件之一,FlutterRow 提供了多种输入框类型,如普通输入框、密码输入框、带有图标的输入框等。代码示例如下:

FRTextField(
  hintText: 'Please input your username',
);

FRPasswordField(
  hintText: 'Please input your password',
);

FRPrefixTextField(
  hintText: 'Please input your phone number',
  prefixIcon: Icon(Icons.phone),
);

4. FRImage

图像是应用中常用的UI组件之一,FlutterRow 提供了多种图像类型,如图片卡片、圆形头像等。且可自定义圆角以及边框。代码示例如下:

FRImageCard(
  image: NetworkImage('https://xxx.jpg'),
  title: 'Image Card',
  subTitle: 'This is an image card',
);

FRAvatar(
  image: NetworkImage('https://xxx.jpg'),
);

FRRadiusImage(
  image: NetworkImage('https://xxx.jpg'),
  radius: 10,
  borderWidth: 1,
  borderColor: Colors.grey,
);

5. FRToast

Toast 是一种简单的提示型UI组件,FlutterRow 提供了 Toast 当中所需要的函数。代码示例如下:

FRToast.showToast('This is a toast. ');

FRToast.showToast('This is a long toast. ', duration: Duration(seconds: 2));

6. FRDialog

FlutterRow 提供了Dialog组件,包括简单对话框、底部弹出对话框、带有标题和内容的对话框、提示对话框、确认对话框等。

FRAlertDialog(
  title: 'Title',
  content: 'Content',
  confirm: ()=>{},
  cancel: ()=>{},
);

FRBottomSheetDialog(
  items: 
   [
    ListTile(title: Text('Option 1')),
    ListTile(title: Text('Option 2')),
  ],
);

FRProgressAlertDialog(
  title: 'Loading...',
);

FRMessageDialog(
  message: 'This is a message.',
);

FRConfirmDialog(
  title: 'Confirm',
  content: 'Are you sure you want to do this?',
  confirm: ()=>{},
  cancel: ()=>{},
);

   

四、样式主题

FlutterRow 中提供了多个样式主题,在初始化组件库时可以进行不同主题的导入。

FRTheme(
  theme: FRLightTheme(),
  child: MyApp(),
);

FlutterRow 中默认提供了以下主题:

1. FRLightTheme

浅色主题,为默认主题。

2. FRDarkTheme

深色主题。

3. FRRedTheme

红色主题。

4. FRGreenTheme

绿色主题。

5. FRBlueTheme

蓝色主题。

五、总结

FlutterRow 是一款基于Flutter开发的UI组件库,提供了多个常用的UI组件,且可选择不同的样式主题。FlutterRow 可以帮助开发人员更加方便地进行UI界面开发,提高开发效率。