首页 > 其他分享 >如何创建搜索框

如何创建搜索框

时间:2024-08-04 22:27:07浏览次数: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/140906886

相关文章

  • 中间证书缺失如何发现和修复
    一、背景微信小程序等功能在发送后台请求时一般都会要求证书齐全,否则就会导致请求发送失败。一般来说,如果中间证书不齐全,在不同设备上表现不一样,一般PC端可能不会有太大问题,仍然认为你的证书可信,但是在移动端就不一定了,因为移动端不一定会把各种中间证书下载下来。所以我......
  • 如何使用Tar命令在Linux系统中解压各种文件格式
    如何使用Tar命令在Linux系统中解压各种文件格式大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!tar命令是Linux系统中一个非常强大的工具,主要用于归档和压缩文件。它支持多种压缩格式,如.tar、.gz、.bz2、.xz等。本文将详细介绍如何使用tar命令解压各......
  • ECharts与数据可视化:如何高效使用JavaScript实现复杂图表
    ECharts与数据可视化:如何高效使用JavaScript实现复杂图表大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在现代网页开发中,数据可视化已成为展示复杂数据的关键手段。ECharts是一个强大的JavaScript图表库,可以帮助开发者轻松实现各种复杂的图表。本文......
  • 如何优化大模型在Java环境下的性能表现
    如何优化大模型在Java环境下的性能表现大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在Java环境下优化大模型的性能表现是一个复杂而重要的任务。随着机器学习和数据处理应用的不断增加,大模型的性能优化尤为关键。在这篇文章中,我们将详细探讨一些提升大......
  • 如何写出高质量ChatGPT指令?195条Prompt示例-第二弹
    第一弹链接:如何写出高质量ChatGPT指令?195条Prompt示例-CSDN博客点点关注,对催更第三弹更有用哦!3.明确说明所需的主题或任务明确提及你希望ChatGPT解决的任务或主题。这有助于集中响应,避免偏差或模糊的输出。不要像“谈论营销策略”这样笼统的提示,而要具体。例如,“为小企业......
  • 如何写出高质量ChatGPT指令?195条Prompt示例
    什么是ChatGPT指令?ChatGPT指令是输入人工智能(AI)界面以获取响应的指令或查询。提示由关键字和短语组成,旨在引发回复。你给ChatGPT输入一个问题或指令,它会像在对话中一样做出回应。你可以通过提供基于响应的另一个查询或指令来继续对话。在本文中,我们将讨论为ChatGPT编写......
  • 声波管应如何选择:不吸收声波、不形成驻波共振
    在进行双传声器传递函数法测量吸声材料的吸声系数以及声阻抗时,我们需要选择声波的材料以及尺寸大小,今天小编就来演示如何进行选择声波管。 1、声学透明的声波管材料声波管的材料为声学透明的,即材料对声波的传播几乎没有阻碍或吸收作用。这通常意味着材料要有低的吸声系数(a......
  • 如何利用AI工具延长摸鱼时间、准点下班?
    你好同学,我是沐爸,欢迎点赞、收藏和关注!个人知乎、公众号"沐爸空间"俗话说,不会摸鱼的程序猿不是好的程序猿。同学,你是不是也在为不能准点下班、每天加班、没有时间提升自己而烦恼?接下来,我们一起来了解下这款AI工具是什么,最重要的是怎么使用,怎么让我们开发效率提升,从而延......
  • Manim系列——创建并使用坐标系统
    到目前为止,我们一直在研究表单的功能具有一个自变量和一个因变量。这些函数可以在二维空间中表示,使用两个数值轴,使我们能够用两个数字识别平面中的每个点。我们现在想谈谈三维空间;为了识别三维空间中的每个点,我们需要三个数值。建立这种关联的明显方法是添加一个新轴,垂直于和......
  • 如何搭建云电脑?让数据更安全。。。。。。
    上周,微软Windows系统的蓝屏故障对各行各业造成了严重影响。航空业首当其冲,当天所有航班停飞,人员滞留在机场。酒店业也未能幸免,同样受到波及。1.故障分析及解决措施本次蓝屏事件的导火索是CrowdStrike公司更新的驱动程序。CrowdStrike提供的解决方案相当复杂,用户需......