首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Flutter》-- 4.Flutter组件基础

参阅书籍: 《Flutter跨平台开发入门实践》-- 向治洪(著) 4. Flutter组件基础 4.1 Widget组件基础 Flutter开发中有一个非常重要的理念,即一切皆为组件。...当创建一个StatefulWidget组件时,同时也会创建一个State对象,StatefulWidget就是通过State对象进行关联来管理组件状态树的。...,取值有6种: TextAlign.left:左对齐; TextAlign.right:右对齐; TextAlign.center:居中对齐; TextAlign.start:文字开始的方向对齐; TextAlign.end...:文字开始的相反方向对齐; TextAlign.justify:两端对齐。...onChange:输入框内容改变时的回调函数。 onEditingComplete:输入框输入完成时触发,不会返回输入的内容。 onSubmitted:输入框输入完成时触发,会返回输入的内容

12.4K30
您找到你想要的搜索结果了吗?
是的
没有找到

一篇带你看懂Flutter叠加组件Stack

注意:无特殊说明,Flutter版本及Dart版本如下: Flutter版本:1.12.13+hotfix.5 Dart版本:2.7.0 Stack Stack组件可以子组件叠加显示,根据子组件的顺利依次向上叠加...StackFit.loose,表示子组件自己决定,StackFit.expand表示尽可能的大,用法如下: Stack( fit: StackFit.expand, ... ) Stack未定位的子组件的默认左上角对齐...如果子组件超过Stack边界由overflow控制,默认是裁剪,下面设置总是显示的用法: Stack( overflow: Overflow.visible, children: <Widget...IndexedStack IndexedStack是Stack的子类,Stack是所有的子组件叠加显示,而IndexedStack只显示指定的子组件,用法如下: IndexedStack(...(() { _index = 0; }); }, ), IconButton

86000

Flutter应用程序添加交互性 顶

小部件的状态存储在状态对象中,从而将小部件的状态外观分开。 当小部件的状态改变时,状态对象调用setState(),告诉框架重绘小部件。 无状态小部件没有内部状态来管理。...用户可以有状态的小部件进行交互(例如通过输入表单或移动滑块),或者随着时间的推移而变化(可能是数据馈送导致UI更新)。...状态对象这些信息存储在_isFavorited和_favoriteCount变量中。 状态对象还定义了build方法。 此build方法创建一个包含红色IconButton和Text的行。...如果有疑问,首先管理窗口小部件中的状态。 我们通过创建三个简单示例来举例说明管理状态的不同方式:TapboxA,TapboxB和TapboxC。...例如,IconButton允许您将图标视为可点按的按钮。 IconButton是一个无状态的小部件,因为我们认为部件需要知道该按钮是否已被轻敲,所以它可以采取适当的行动。

4.2K20

第130期:flutter的状态组件和状态管理

flutter中无状态组件有很多,比如:Icon, IconButton, and Text。他们继承StatelessWidget类。...组件的状态存储在state对象中,控件的状态与其外观分开。状态由可以更改的值组成,例如滑块的当前值或是否选中复选框。...状态管理 需要注意的内容: /** 1. 管理状态有不同的方法。 2. 作为组件的开发者,我们可以选择具体使用哪种方法。 3. 如果我们不确定怎么管理状态,就把状态放到组件中进行管理。...例如,IconButton可以让图标看作是可点击的按钮。IconButton是一个无状态的小部件,因为我们可以让组件知道按钮是否被点击,以便采取适当的操作。...在_handleTap时,状态传递到付组件中,通知组件进行更新。

1.5K20

第126期:如何学习flutter组件

不同的地方在于,我们的组件库通常是用html 中dom标签结合js进行开发,而flutter则使用dart各种组件封装成了一些组件的类,使用的体验像是在对各种组件进行实例化,比如: void main...但是在flutter中,它对这些内容也做了一些封装,使得我们可以用组件的形式去实现这些特殊的布局,比如:stack。...在对事件的处理上,pc端,我们可以显示的给dom绑定click等事件,在flutter中,事件的处理更像是组件实例上的一个属性,比如: IconButton(...既然是布局,那么我们接下来就会想到容器内block的对齐方式,是主轴对齐?还是交叉轴对齐?然后就会想到这两个单词:mainAxisAlignment,crossAxisAlignment。...当我们真正开始做用flutter开发一些应用的时候,我们会发现其实我们只不过是按照文档上的内容搭建了一个项目,然后使用它提供的组件进行搭建,偶尔对它的组件做了一些扩展而已。

38350

一篇带你看懂Flutter叠加组件Stack

type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L21lbmdrczE5ODc=,size_16,color_FFFFFF,t_70] 注意:无特殊说明,Flutter...版本及Dart版本如下: Flutter版本: 1.12.13+hotfix.5 Dart版本: 2.7.0 Stack Stack组件可以子组件叠加显示,根据子组件的顺利依次向上叠加,用法如下:...,表示子组件自己决定,StackFit.expand表示尽可能的大,用法如下: Stack( fit: StackFit.expand, ... ) Stack未定位的子组件的默认左上角对齐...,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L21lbmdrczE5ODc=,size_16,color_FFFFFF,t_70] 如果子组件超过Stack边界由...text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L21lbmdrczE5ODc=,size_16,color_FFFFFF,t_70] IndexedStack IndexedStack是Stack的子类,Stack是所有的子组件叠加显示

72300

Flutter』常用组件 按钮、图片

IconButton:这是一个图标按钮,常用于工具栏和对话框中。它可以包含图标而不是文本,适用于空间有限或需要图形化表示的地方。...FloatingActionButton:这是一个圆形的按钮,通常悬浮在内容上方,用于促进应用中的主要动作,如添加、编辑等。...这可以用于添加额外的功能或交互,简单的点击(onPressed)不同。...如果不设置,图片会根据其父组件和其他内容自动调整大小。 height (double): 图片的高度。同样,如果不设置,会自动调整。 fit (BoxFit): 如何处理图片的缩放和对齐。...), ], ) ) ) ); } 运行效果如下: End 如果您对本文有任何疑问或想法,请在评论区留言,我很乐意您交流

31831

你知道吗,Flutter内置了10多种Button控件

注意:无特殊说明,Flutter版本及Dart版本如下: Flutter版本:1.12.13+hotfix.5 Dart版本:2.7.0 Flutter内置了10多种Button(按钮)类控件供我们使用...IconButton IconButton是一个图标按钮,用法如下: IconButton( icon: Icon(Icons.person), iconSize: 30, color: Colors.red...ButtonBar ButtonBar并不是一个单独的按钮控件,而是末端对齐的容器类控件,当在水平方向上没有足够空间时候,按钮整体垂直排列,而不是换行。...设置主轴的对齐方式及主轴的尺寸: ButtonBar( alignment: MainAxisAlignment.center, mainAxisSize: MainAxisSize.max,...如果不需要边框,可以renderBorder设置为false: ToggleButtons( renderBorder: false, ) 效果如下: ?

1.9K30

你知道吗,Flutter内置了10多种Button控件

版本及Dart版本如下:Flutter版本: 1.12.13+hotfix.5 Dart版本: 2.7.0 Flutter内置了10多种Button(按钮)类控件供我们使用,了解这些控件有助于提高我们的开发速度...elevation: 5, padding: EdgeInsets.all(5), color: Colors.red, ... ) 默认情况下,PopupMenuButton显示3个小圆点,我们也可以对齐进行设置...IconButton是一个图标按钮,用法如下: IconButton( icon: Icon(Icons.person), iconSize: 30, color: Colors.red,...用法如下: CloseButton() 效果如下: [1240] ButtonBar ButtonBar并不是一个单独的按钮控件,而是末端对齐的容器类控件,当在水平方向上没有足够空间时候,按钮整体垂直排列...RaisedButton(), RaisedButton(), RaisedButton(), RaisedButton(), ], ) 效果如下: [1240] 设置主轴的对齐方式及主轴的尺寸

2.4K00

【Android 应用开发】Canvas 精准绘制文字 ( 测量文本真实边界 | 文本中心点给定中心点对齐 )

文章目录 一、测量文本真实边界 二、文本中心点给定中心点对齐 一、测量文本真实边界 ---- Paint.getTextBounds() 函数原型如下 : public class Paint {.../** * 检索文本边界框并存储到边界。...* @param bounds 返回所有文本的联合边界。...; 绘图区域 真实文本区域 的差异 , 就导致了 文字绘图 不准确 , 不好定位的问题 ; 二、文本中心点给定中心点对齐 ---- 给定中心点 ( x , y ) ; 绘制文本 , 使得 文本的中心点... 给定的中心点对齐 ; 根据中心点位置 : 确定绘制文本的左侧位置 : x - (rect.left + rect.right) / 2 , 绘制的文本 , 是下图红色矩形框的位置 , 文本的位置是不确定的

1.3K20

Flutter Widget框架之旅 顶

处理手势 主要文章:Flutter的手势 大多数应用程序包括某种形式的系统的用户交互。 构建交互式应用程序的第一步是检测输入手势。...当级收到onCartChanged回调时,更新其内部状态,这将触发级重建并使用新的inCart值创建ShoppingListItem的新实例。...尽管级在重建时创建了ShoppingListItem的新实例,但该操作很便宜,因为该框架新构建的小部件先前构建的小部件进行比较,并仅差异应用于基础RenderObject。...当此小部件的级重建时,创建ShoppingList的新实例,但该框架重新使用树已存在的_ShoppingListState实例 而不是再次调用createState。...通过列表中的每个条目指定为“semantic”键,无限列表可以更有效,因为框架将同步条目匹配的semantic键并因此具有相似(或相同)的可视外观。

6.7K20

Flutter 入门指北之基础部件

StatelessWidget 是状态不可变部件,通过其构建的部件一般用来展示固定内容,例如需要展示固定的功能按钮列表,不需要根据不同界面状态进行修改其展示内容 StatefulWidget 是可改变状态的部件...this.iconTheme, // 按钮的默认样式 this.textTheme, // 文字的默认样式 this.primary = true, this.centerTitle, // 是否展示的...,包括左对齐,右对齐,居中等,详见 TextAlign 类 this.textDirection, // 文字方向,ltr(left to right) 或者 rtl(right to left...Button Flutter 提供了各种类型的 Button 几乎是大同小异的,这边就抽取一些比较常用的展示下效果,常用的主要有 RaisedButton 、FlatButton、IconButton、...(icon: Icon(Icons.android), onPressed: () {}), IconButton(icon: Icon(Icons.android), onPressed

1.3K30

Flutter布局指南之深入理解BoxConstraints

你可以在Flutter Visual Inspector -> Widgets下查看这些内容。 现在让我们把Container包在一个Scaffold里面,如下面的代码所示。...❞ 案例:有边界约束,没有自我约束,没有孩子,没有对齐。 ❝Container扩展以适应父代提供的约束,即Container试图尽可能大的尺寸。...❞ 案例:有无界的约束,无自我约束,有孩子,有对齐。 ❝Container试图将自己的大小围绕着孩子。 ❞ 案例:有边界约束,没有自我约束,有孩子,有对齐。...❝Container试图扩大以适应体,然后按照排列方式子体置于自身之内。 ❞ 案例:有约束,无自约束,有子约束 ❝Container方的约束传递给子方,并将自己的大小子方相匹配。...屏幕Tight约束传递给根Widget,使其设备屏幕一样大。然后再往后,每个Widget都会向其子Widget传递约束。

2K20

Flutter 3.3更新详解

解锁Flutter开发新姿势,一网打尽Flutter最新最热技术,点我Get!!!...框架更新 全局选择 到现在为止,Flutter 在 Web 上的文本选择交互仍然没有达到预期。 Flutter 应用不同,原生的 Web 应用会将每个节点构建为树形结构。...本次更新包括了IconButton 的中等和扩大样式。 想要跟踪 Material Design 3 的整合进度,你可以在 GitHub 上查看 Material 3 带到 Flutter。...布局小数处理 在先前的版本中,Flutter 引擎会将合成层精准地对齐像素,用于提升 Flutter 在旧款 iPhone (32 位) 上的渲染性能。...此外我们还发现,这些像素对齐移除后,先前在黄金镜像测试 (golden image test) 时候出现的细微渲染差异也变得更稳定了。

2.8K20

Flutter学习

Flutter中,因为widget是不可变的,所以没有addChild。相反,您可以传入一个函数,该函数返回一个widget给项,并通过 布尔值控制该widget的创建。...在线性布局中,有两个定义对齐方式的枚举类MainAxisAlignment和CrossAxisAlignment,分别代表主轴对齐和纵轴对齐。...点击 在Flutter中,添加触摸监听器有两种方法:如果Widget支持事件监听,则可以一个函数传递给它并进行处理。...在Flutter中,导航器管理应用程序的路由栈。路由推入(push)到导航器的栈中,将会显示更新为该路由页面。 从导航器的栈中弹出(pop)路由,显示返回到前一个路由。...MethodChannel原生交互 Flutter 集成到现有应用 Flutter Android 的相互通信 File > New > New Module > flutter 新建到自己项目目录下

2.6K20

Flutter 的按钮,看这篇文章就够了

我在之前的文章文本、图片和按钮在Flutter中怎么用中,简单介绍过按钮组件,本篇文章来详细聊聊Flutter中的各种按钮组件的各种应用场景。...在Flutter中,有很多的按钮组件,常见的有:FlatButton、RaisedButton、OutlineButton、IconButton、ButtonBar、FloatingActionButton...实际上,RaisedButton是立体效果的,而FlatButton是扁平化的平面效果;OutlineButton是边框按钮,对齐设置背景颜色是不起效果的。...ButtonBar是一个按钮组,也就是说多个按钮组合在一起。...floatingActionButtonLocation 属性,我们可以配置浮动组件的位置 3,floatingActionButton 和 floatingActionButtonLocation 都是 Scaffold 组件的属性,

9.3K31
领券