Flutter基础控件参数说明

一.Text:文本

1.Text():一个单一样式的文本

2.Text.rich():使用InlineSpan创建的文本

Text(
    String data;    //文本内容(Text())
    TextSpan textSpan; //文本内容(Text.rich())
    TextStyle style;     //文本样式
    StrutStyle strutStyle;    //段落样式
    TextAlign textAlign;    //本文对其方式
    TextDirection textDirection;    //文本方向
    Locale locale;    //选择区域特定字形的语言环境
    bool softWrap;     //是否自动换行
    TextOverflow overflow;    //如何处理文本溢出
    double textScaleFactor;    //每个逻辑像素的字体像素数
    int maxLines;    //文本的最大行数,如果文本超过给定的行数,则会根据overflow字段截断
    String semanticsLabel;    //文本的替代语义标签
)

 二.Image:图片

 1.Image():用于从ImageProvider获取图像

 2.Image.asset():加载图片资源

 3.Image.file():加载本地图片文件

 4.Image.network ():加载网络图片

 5.Image.memory():加载Uint8List资源图片

Image(
    ImageProvider image;    //要显示的图像(Image())
    String name,    //图片路径(Image.asset())
    AssetBundle bundle,    //图片资源(Image.asset())
    File file;    //文件路径(Image.file())
    String src;    //图片地址url(Image.network())
    Uint8List bytes Uint8List;    //获取的ImageStream,如sdk中从网络转Uint8List(Image.memory())
    String semanticLabel;    //图像的语义描述
    bool excludeFromSemantics;   //是否从语义中排除此图像,默认false
    double scale;    //比例
    double width;    //宽度
    double height;   //高度
    Color color;    //颜色,如果不为null,则通过colorBlendMode属性将此颜色与图像混合
    BlendMode colorBlendMode;    //混合模式
    BoxFit fit;    //图像的显示模式
    AlignmentGeometry alignment;    //对齐方式,默认Alignment.center
    ImageRepeat repeat;    //重复方式,默认ImageRepeat.noRepeat
    Rect centerSlice;     //九宫格拉伸
    bool matchTextDirection;    //是否以文本方向绘制图片,默认false
    bool gaplessPlayback;       //当图像更改时,是继续显示旧图像(true)还是简单地显示任何内容(false),默认false
    FilterQuality filterQuality;    //筛选质量,默认FilterQuality.low
    String package, //包名(Image.asset())
    Map headers;    //参数可用于通过图像请求发送自定义HTTP标头(Image.network())
)

三.TextField:输入框

TextField(
    TextEditingController controller;    //文本编辑控制器
    FocusNode focusNode;    //定义此窗口小部件的键盘焦点
    InputDecoration decoration;    //在文本字段周围显示的装饰
    TextInputType keyboardType;    //用于编辑文本的键盘类型
    TextInputAction textInputAction;    //用于键盘的操作按钮类型
    TextCapitalization textCapitalization;    //配置平台键盘如何选择大写或小写键盘,默认TextCapitalization.none
    TextStyle style;    //文本样式
    StrutStyle strutStyle;    //用于垂直布局的支柱样式
    TextAlign textAlign;    //对齐方式,默认TextAlign.start
    TextDirection textDirection,    //文本的方向性
    bool autofocus;    //是否自动获取焦点,默认false
    bool obscureText;    //是否隐藏文本(密码),默认false
    bool autocorrect;    //是否启用自动更正,默认true
    int maxLines;    //最大行,默认1
    int minLines;    //最小行
    bool expands;    //是否将此窗口小部件的高度调整为填充其父级,默认false
    int maxLength;    //最大长度
    bool maxLengthEnforced;    //如果为true,则阻止该字段允许超过maxLength个 字符,默认true
    ValueChanged onChanged;    //当用户启动对TextField值的更改时调用:当他们插入或删除文本时
    VoidCallback onEditingComplete;    //当用户提交可编辑内容时调用(例如,用户按下键盘上的“完成”按钮)
    ValueChanged onSubmitted;    //当用户指示他们已完成编辑字段中的文本时调用
    List inputFormatters;    //可选的输入验证和格式覆盖
    bool enabled;    //是否可用
    double cursorWidth;    //光标的宽度,默认2.0
    Radius cursorRadius;    //光标的圆角度
    Color cursorColor;    //光标颜色
    Brightness keyboardAppearance;    //键盘的外观
    EdgeInsets scrollPadding;    //此值控制在滚动后TextField将位于Scrollable边缘的距离,默认EdgeInsets.all(20.0)
    DragStartBehavior dragStartBehavior;    //确定处理拖动开始行为的方式,默认DragStartBehavior.start
    bool enableInteractiveSelection;    //如果为true,则长按此TextField将显示剪切/复制/粘贴菜单,并且点击将移动文本插入符号
    GestureTapCallback onTap;    //当用户点击此文本字段时调用
    InputCounterWidgetBuilder buildCounter;    //生成自定义InputDecorator.counter小部件的回调
    ScrollPhysics scrollPhysics;    //确定Scrollable小部件的物理特性
)

四.Icon:图标

Icon(
    IconData icon;//系统库中的图标文件
    double size;//图标的尺寸
    Color color;//绘制图标时使用的颜色
    String semanticLabel;//图标的语义标签
    TextDirection textDirection;//用于渲染图标的文本方向
)

五.IconButton:带图标的按钮

IconButton(
    double iconSize: 24.0;//图标尺寸
    EdgeInsetsGeometry padding: const EdgeInsets.all(8.0);//内边距
    AlignmentGeometry alignment: Alignment.center;//对齐方式
    Widget icon;//图标控件
    Color color;//颜色
    Color highlightColor;//按钮按下时的颜色
    Color splashColor;//点击后扩散动画的颜色
    Color disabledColor;//按钮不可用时的颜色
    VoidCallback onPressed;//点击或以其他方式激活按钮时调用的回调
    String tooltip;//描述按下按钮时将发生的操作的文本
)

六.RaisedButton:凸起按钮

1.RaisedButton():带文本的凸起按钮

2.RaisedButton.icon():带文本和图标的凸起按钮

RaisedButton(
    requiredVoidCallback onPressed;  //点击或以其他方式激活按钮时调用的回调
    ValueChanged onHighlightChanged;  //由底层InkWell小部件的InkWell.onHighlightChanged 回调调用
    ButtonTextTheme textTheme;  //文本主题
    Color textColor;  //文本颜色
    Color disabledTextColor;  //按钮不可用时的文本颜色
    Color color;  //按钮颜色
    Color disabledColor;   //按钮不可用时的颜色
    Color highlightColor;  //按钮按下时的颜色
    Color splashColor;     //点击后扩散动画的颜色
    Brightness colorBrightness;  //用于此按钮的主题亮度
    double elevation;  //凸出的高度
    double highlightElevation;  //按下按钮时凸出的高度
    double disabledElevation;  //按钮不可用时凸出的高度
    EdgeInsetsGeometry padding;  //内边距
    ShapeBorder shape;  //按钮材质的形状
    Clip clipBehavior: Clip.none;  //剪裁
    MaterialTapTargetSize materialTapTargetSize;  //配置点击目标的最小尺寸
    Duration animationDuration;  //动画的持续时间
    Widget child;  //子控件(RaisedButton())
    Widget icon;  //图标(RaisedButton.icon())
    Widget label;//文本(RaisedButton.icon())
)

七.ListView:列表

1.ListView()

2.ListView.builder()

3.ListView.custom()

4.ListView.separated()

ListView(
    IndexedWidgetBuilder itemBuilder;   //子条目布局(ListView.builder(),ListView.separated())
    IndexedWidgetBuilder separatorBuilder;   //(ListView.separated())
    SliverChildDelegate childrenDelegate;   //为ListView提供子代的委托(ListView.custom())
    int itemCount;    //item数量(ListView.bu ilder(),ListView.separated())
    List children: const [], //子条目布局(ListView())
    int semanticChildCount,//子条目数量
    Axis scrollDirection: Axis.vertical;//滚动方向
    bool reverse: falsel;//是否反转滚动方向
    ScrollController controller;//滚动控制器
    bool primary;//如果为true,即使滚动视图没有足够的内容来实际滚动,滚动视图也是可滚动的。否则,默认情况下,只有具有足够内容的用户才能滚动视图,取决于physics属性
    ScrollPhysics physics;//滚动视图应如何响应用户输入
    bool shrinkWrap: false;//是否应该由正在查看的内容确定scrollDirection中滚动视图的范围
    EdgeInsetsGeometry padding;//内边距
    double itemExtent;//滚动方向上的范围
    bool addAutomaticKeepAlives: true;//是否将每个子项包装在AutomaticKeepAlive中
    bool addRepaintBoundaries: true;//是否将每个子项包装在RepaintBoundary中
    bool addSemanticIndexes: true;//是否将每个子项包装在IndexedSemantics中
    double cacheExtent;//滚动缓存区像素
    DragStartBehavior dragStartBehavior: DragStartBehavior.start;//确定处理拖动开始行为的方式
)

 本文内容参考了官方api文档,内容持续更新,部分注释可能不准确,如果有问题,请通知我修改!!!

你可能感兴趣的:(Flutter)