首页 > 其他分享 >SearchBar组件

SearchBar组件

时间:2024-07-20 22:56:03浏览次数:14  
标签:const 介绍 搜索 组件 SearchBar 属性

文章目录


我们在上一章回中介绍了"Material3中的IconButton"相关的内容,本章回中将介绍SearchBar组件.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

1. 概念介绍

我们在本章回中介绍的SearchBar是指搜索框,通常位于某个页面的最上方,通过它来搜索页面中的内容。该组件也是Material3中引入的新组件,本章回中将详细介绍
它的使用方法。

2. 使用方法

和其它的组件一样,SearchBar提供了相关的属性来控制自己,下面是该组件中常用的属性:

  • hintText属性: 用来控制搜索框中的提示内容;
  • leading属性: 用来控制搜索框最左侧显示的内容;
  • trailing属性: 用来控制搜索框最右侧显示的内容;
  • backgroundColor属性: 用来控制搜索框的背景颜色;
  • padding属性:用来控制搜索框中内容与边框的边距;
  • shape属性: 用来控制搜索框的形状,默认是圆角矩形;
  • onTap属性:它是方法类型,点击搜索框时会回调该方法;
  • onChanged属性:它是方法类型,搜索框中输入的内容变化会回调该方法;
    除了上面介绍的这些属性外,搜索框还有其它的属性,我们就不一一介绍了,大家可以参考官方文档。搜索框的用法和我们之前介绍过的TextField组件的用法类似,其
    实官方没有提供该组件前,我们就是拿TextField组件来实现搜索框。

3. 代码与效果

3.1 示例代码

介绍完搜索框的常用属性后,我们通过具体的示例代码来演示它的使用方法。我们在代码中关键位置添加了注释,方便大家理解代码。

Column(
  children: [
    const Padding(padding: EdgeInsets.only(bottom: 16),),
    const SearchBar(hintText:"Default SearchBar", ),
    const Padding(padding: EdgeInsets.only(bottom: 16),),
    const SearchBar(
      hintText:"add Icon SearchBar",
      leading: Icon(Icons.earbuds),
      trailing: [
        Icon(Icons.mic),
        Icon(Icons.search_rounded),
      ]
    ),
    const Padding(padding: EdgeInsets.only(bottom: 16),),
    SearchBar(
      hintText: "custom SearchBar",
      //修改背景颜色
      backgroundColor: const MaterialStatePropertyAll<Color>(Colors.grey),
      //控制内容与搜索框的边距
      padding:const MaterialStatePropertyAll<EdgeInsets>(
        EdgeInsets.symmetric(horizontal: 16),
      ),
      //修改形状
      shape: MaterialStatePropertyAll<OutlinedBorder>(
        RoundedRectangleBorder(borderRadius: BorderRadius.circular(80)),
      ),
      onTap: (){debugPrint("onTap:");},
      onChanged: (value){debugPrint("onChanged: $value");},
    )
  ],
),

3.2 运行效果

我们在上面小节中的示例代码中一共实现了三个搜索框,第一个是默认的搜索框,第二个搜索框添加了图标,第三个搜索框修改了形状和背景颜色。三个搜索框按列显示,
方便大家对比不同的颜色与形状。下面是程序的运行效果图,请大家参考:

4. 内容总结

最后,我们对本章回的内容做一个全面的总结:

  • 搜索框是Material3中新引入的组件,主要用来实现搜索功能;
  • 搜索框提供了相关的属性来控制自己的外观形状和点击事件;
  • 搜索框的用法类似之前介绍过和TextField组件;

看官们,与"SearchBar组件"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

标签:const,介绍,搜索,组件,SearchBar,属性
From: https://blog.csdn.net/talk_8/article/details/140575300

相关文章

  • React函数式组件---Hooks
            这里先简单复习一下函数式组件:没有自己的this,没有实例对象,不能使用三大属性中的state和refs,仅能用props;不能使用生命周期!1.ReactHook/Hooks是什么?(1).Hook是React16.8.0版本增加的新特性/新语法(2).可以让你在函数组件中使用state以及其他的React......
  • vue3 - 最新详细实现 “日历课程表“ 上课时间表功能组件,教务系统专用老师排课表插件
    效果图在vue3、nuxt3项目开发中,详解实现学生每周“动态课程表(日历表展现)”功能实现,对学期的每周课程进行排课和准备工作,可自由切换本月的每周上课表情况、也可通过日期范围选择器进行筛选指定周的教学排班表、相同的课成可以合并(可不开启),课表数据结构支持调用后端服......
  • Unity入门之重要组件和API(4) : Screen
    Screen类主要处理屏幕相关的操作。1.静态属性1.1常用属性【设备分辨率】Resolutionresolution=Screen.currentResolution;print("设备分辨率宽:"+resolution.width+"高:"+resolution.height);【屏幕窗口的宽高】这里得到的是当前窗口的宽高,不是设备分辨率的宽......
  • Vue常用组件安装命令合集
    qs是一个流行的查询参数序列化和解析库。可以将一个普通的object序列化成一个查询字符串,或者反过来将一个查询字符串解析成一个object,帮助我们查询字符串解析和序列化字符串。npminstallqsnpminstallaxios-Selementuiui组件库npmielement-ui-Snpmielement-ui@2......
  • WebKit 引擎:Web 组件的崛起与支持
    WebKit引擎:Web组件的崛起与支持在现代Web开发中,组件化是构建可维护、可重用和模块化Web应用的关键策略。Web组件(WebComponents)是一种标准技术,允许开发者创建封装的自定义元素,这些元素可以像标准的HTML元素一样使用。WebKit引擎,作为许多流行浏览器的核心,如Safari,对Web......
  • FullCalendar日历组件集成过程合订版
    背景有一些应用系统或应用功能,如日程管理、任务管理需要使用到日历组件。虽然ElementPlus也提供了日历组件,但功能比较简单,用来做数据展现勉强可用。但如果需要进行复杂的数据展示,以及互动操作如通过点击添加事件,则需要做大量的二次开发。FullCalendar是一款备受欢迎的开......
  • yearrecord——一个类似痕迹墙的React数据展示组件
    yearrecord——一个类似痕迹墙的React数据展示组件 介绍一下自己做的一个类似于力扣个人主页提交记录和GitHub主页贡献记录的React组件。下图分别是力扣个人主页提交记录和GitHub个人主页的贡献记录,像这样类似痕迹墙的形式可以比较直观且高效得展示一段时间内得数据记录。......
  • 组件服务:8000401a 因为配置标识不正确,系统无法开始服务器进程。请检查用户名和密码
     报错日志:StartCADException:RetrievingtheCOMclassfactoryforcomponentwithCLSID{DED89DB0-45B6-11CE-B307-0800363A1E02}failedduetothefollowingerror:8000401a因为配置标识不正确,系统无法开始服务器进程。请检查用户名和密码。(0x8000401A).【记录时间......
  • 电子组件的自动AXI射线检测
    检查PCBA缺陷的AOI、3DAOI系统有一个局限性:即使是AOI也无法目视检查人眼隐藏的东西。带有平面端子的组件(如BGA、CSP、倒装芯片或QFN)的焊点通常不可见,现在每三个焊点中就有一个是隐藏的。然而,电子组件的可靠性本质上与这些焊点的质量有关。X射线检测可以查看组件内部,并可以显着减......
  • 未来组件化开发趋势WebComponent
    未来组件化开发趋势WebComponent优点:原生组件,不需要框架,性能好代码少。缺点:兼容性问题组件化好处:高内聚、可重用、可组合https://developer.mozilla.org/zh-CN/docs/Web/API/Web_components核心三项技术Customelements:一组JavaScriptAPI,允许您定义customelemen......