Flutter   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Flutter 标签类控件大全Chip大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

Flutter 标签类控件大全Chip

RawChip

@H_899_0@material风格标签控件,此控件是其他标签控件的基类,通常情况下,不会直接创建此控件,而是使用如下控件:

  • Chip
  • InputChip
  • ChoiceChip
  • FilterChip
  • ActionChip

如果你想自定义标签类控件时通常使用此控件。

RawChip可以通过设置onSELEcted被选中,设置ondeleted删除,也可以通过设置onPressed而像一个按钮,它有一个label属性,有一个前置(avatar)和后置图标(deleteIcon)。

基本用法如下:

RawChip(
  label: Text('老孟'),)

效果如下:

Flutter 标签类控件大全Chip

禁用状态设置:

RawChip(
  label: Text('老孟'),isEnabled: false,)

效果如下:

Flutter 标签类控件大全Chip

设置左侧控件,一般是图标:

RawChip(
  avatar: CircleAvatar(
    child: Text('孟'),),label: Text('老孟'),)

效果如下:

Flutter 标签类控件大全Chip

设置label的样式和内边距:

RawChip(
  label: Text('老孟'),labelStyle: TextStyle(color: Colors.bluE),labeLPADding: EdgeInsets.symmetric(horizontal: 10),)

效果如下:

Flutter 标签类控件大全Chip

设置删除相关属性

RawChip(
  label: Text('老孟'),ondeleted: (){
    print('ondeleted');
  },deleteIcon: Icon(Icons.Delete),deleteIconColor: Colors.red,deleteButtonTooltipmessage: '删除',)

效果如下:

Flutter 标签类控件大全Chip

点击删除图标,回调ondeleted

设置形状、背景颜色及内边距:

RawChip(
  label: Text('老孟'),shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)),BACkgroundColor: Colors.blue,padding: EdgeInsets.symmetric(vertical: 10),)

效果如下:

Flutter 标签类控件大全Chip

设置阴影:

RawChip(
  label: Text('老孟'),elevation: 8,shadowColor: Colors.blue,)

效果如下:

Flutter 标签类控件大全Chip

@H_824_26@materialTapTargetSize属性控制最小点击区域,详情查看:MaterialTapTargetSize

设置选中状态、颜色:

bool _SELEcted = false;
RawChip(
  label: Text('老孟'),SELEcted: _SELEcted,onSELEcted: (v){
    setState(() {
      _SELEcted = v;
    });
  },SELEctedColor: Colors.blue,SELEctedShadowColor: Colors.red,)

效果如下:

Flutter 标签类控件大全Chip

设置选中状态下“前置对勾”图标:

RawChip(
  label: Text('老孟'),SELEcted: true,showcheckmark: true,checkmarkColor: Colors.red,)

效果如下:

Flutter 标签类控件大全Chip

showcheckmarkfalse时,无“前置对勾”图标。

设置点击属性

RawChip(
  label: Text('老孟'),onPressed: (){
    print('onPressed');
  },presSELEvation: 12,)

效果如下:

@H_209_197@

点击时有水波纹效果

Chip

Chip是一个简单的标签控件,仅显示信息和删除相关属性,是一个简化版的RawChip,用法和RawChip一样。源代码如下:

@override
Widget build(BuildContext context) {
  assert(debugcheckHasmaterial(context));
  return RawChip(
    avatar: avatar,label: label,labelStyle: labelStyle,labeLPADding: labeLPADding,deleteIcon: deleteIcon,ondeleted: ondeleted,deleteIconColor: deleteIconColor,deleteButtonTooltipmessage: deleteButtonTooltipmessage,tapEnabled: false,shape: shape,clipBehavior: clipBehavior,focusnode: focusnode,autofocus: autofocus,BACkgroundColor: BACkgroundColor,padding: padding,materialTapTargetSize: materialTapTargetSize,elevation: elevation,shadowColor: shadowColor,isEnabled: true,);
}

InputChip

以紧凑的形式表示一条复杂的信息,例如实体(人,地方或事物)或对话文本。

InputChip 本质上也是RawChip,用法和RawChip一样。源代码如下:

@override
Widget build(BuildContext context) {
  assert(debugcheckHasmaterial(context));
  return RawChip(
    avatar: avatar,onSELEcted: onSELEcted,onPressed: onPressed,presSELEvation: presSELEvation,SELEcted: SELEcted,tapEnabled: true,disabledColor: disabledColor,SELEctedColor: SELEctedColor,tooltip: tooltip,SELEctedShadowColor: SELEctedShadowColor,showcheckmark: showcheckmark,checkmarkColor: checkmarkColor,isEnabled: isEnabled && (onSELEcted != null || ondeleted != null || onPressed != null),avatarBorder: avatarBorder,);
}

ChoiceChip

允许从一组选项中进行单个选择,创建一个类似于单选按钮的标签,本质上ChoiceChip也是一个RawChip,ChoiceChip本身不具备单选属性

单选demo如下:

int _SELEcTindex = 0;
Wrap(
  spacing: 15,children: List.generate(10,(indeX) {
    return ChoiceChip(
      label: Text('老孟 $index'),SELEcted: _SELEcTindex == index,onSELEcted: (v) {
        setState(() {
          _SELEcTindex = index;
        });
      },);
  }).toList(),)

效果如下:

Flutter 标签类控件大全Chip

本控件由共建者普通程序员提供。

FilterChip

FilterChip可以作为过滤标签,本质上也是一个RawChip,用法如下:

List<String> _filters = [];

column(
  children: <Widget>[
    Wrap(
      spacing: 15,(indeX) {
        return FilterChip(
          label: Text('老孟 $index'),SELEcted: _filters.contains('$index'),onSELEcted: (v) {
            setState(() {
              if(v){
                _filters.add('$index');
              }else{
                _filters.removeWhere((f){
                  return f == '$index';
                });
              }
            });
          },);
      }).toList(),Text('选中:${_filters.join(',')}'),],)

效果如下:

Flutter 标签类控件大全Chip

ActionChip

显示与主要内容有关的一组动作,本质上也是一个RawChip,用法如下:

ActionChip(
    avatar: CircleAvatar(
      BACkgroundColor: Colors.grey.shade800,child: Text('孟'),onPressed: () {
      print("onPressed");
    })

效果如下:

Flutter 标签类控件大全Chip

效果很像按钮类控件。

交流

老孟Flutter博客地址(近200个控件用法):http://laomengit.com

欢迎加入Flutter交流群(微信:laomENGIt)、关注公众号【老孟Flutter】:

@H_772_290@ @H_772_290@

Flutter 标签类控件大全Chip

Flutter 标签类控件大全Chip

大佬总结

以上是大佬教程为你收集整理的Flutter 标签类控件大全Chip全部内容,希望文章能够帮你解决Flutter 标签类控件大全Chip所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: