手机随时阅读
新人专享大礼包¥24
简介在上一篇文章中,我们列举了flutter中的所有layout类,并且详细介绍了两个非常常用的layout:Row和Column。掌握了上面两个基本的layout还是不够的,如果需要应付日常的layout使用,我们还需要掌握多一些layout组件。今天我们会介绍一个功能强大的layout:Containerlayout。Container的使用Container是一个空白的容器,通常可以用Con
简介对于一个前端框架来说,除了各个组件之外,最重要的就是将这些组件进行连接的布局了。布局的英文名叫做layout,就是用来描述如何将组件进行摆放的一个约束。在flutter中,基本上所有的对象都是widget,对于layout来说也不例外。也就是说在flutter中layout也是用代码来完成的,这和其他的用配置文件来描述layout的语言有所不同。你可以把layout看做是一种看不见的widge
简介为了简化大家的使用,虽然flutter推荐所有的widget都有自己来进行搭建,但是在大框架上面,flutter提供了Material和Cupertino两种主题风格的Widgets集合,大家可以在这两种风格的继承上进行个性化定制和开发。这两种风格翻译成中文就是:材料和库比蒂诺?什么鬼....我们还是使用默认的英文名来称呼它们吧。本文我们将会深入讲解Material主题的基础MaterialA
简介移动的和PC端有什么不同呢?同样的H5可以运行在APP端,也可以运行在PC端。两者最大的区别就是移动端可以用手势。手势可以做到一些比如左滑右滑,上滑下滑,缩放等操作。原生的andorid和IOS当然可以做到这些事情,作为一个移动的的开发框架flutter,自然也能够支持手势。flutter中的手势支持叫做GestureDetector,一起来看看flutter中的手势基础吧。Pointers和
toc简介我们知道Flutter中有两种Widget,分别是StatelessWidget和StatefulWidget,StatelessWidget中有一个build方法来创建对应的Widget,虽然StatefulWidget中没有对应的build方法,但是和StatefulWidget对应的State中也有同样的build方法。这个build方法就是用来创建Widget的核心方法。我们来看
简介Flutter的基础是widget,根据是否需要跟用户进行交互,widget则可以分为StatelessWidget和StatefulWidget。StatelessWidget只能根据传入的状态进行简单的初始化widget,如果要实现跟用户交互这种复杂的功能,则需要用到StatefulWidget。但是对于StatefulWidget本身来说,它并不存储任何状态,所有的状态都是存放在和Sta
简介flutter中所有的组件都是由widgets组成的,flutter中有各种各样的widgets,这些widgets构成了flutter这个大厦。那么flutter中的widget有什么特点呢?我们应该怎么学习widget呢?一起来看看吧。StatelessWidget和StatefulWidget实时上,flutter中的widgets是受到React的启发来实现的。flutter中的wid
简介Flutter是google开发的一个跨平台的UI构建工具,flutter目前最新的版本是3.0.1。使用flutter你可以使用一套代码搭建android,IOS,web和desktop等不同平台的应用。做到一次编写到处运行的目的。说到一次编写处处运行,大家可能会想到java。那么flutter跟java是不是类似呢?对于JAVA来说,在编写完JAVA代码之后,将其编译成为class字节码,
简介dart中有四种集合,分别是Set,List,Map和queues。这些集合在使用中需要注意些什么呢?什么样的使用才是最好的使用方法呢?一起来看看吧。使用字面量创建集合对于常用的Set,Map和List三个集合来说,他们是有自己的无参构造函数的:factorySet()=LinkedHashSet<E;externalfactoryMap();@Deprecated("Usealistlite
简介null可能是大家在编写程序中最为头疼的一个东西,稍不留意的情况下就有可能使用到了这个空字符。所以dart在2.12引入了nllsafety,默认情况下强制所有的类型都不为null,只有在你认为它可以为null的时候才可以设置为null。虽然有了nullsafety,但是这里还有一些我们需要考虑的null的最佳实践。不需要初始化对象为null在dart2.12之后,所有的对象都强制为非空的,除
简介Library是dart用来组织代码的一种非常有用的方式,通过定义不同的Library,可以将非常有用的dart代码进行封装,从而提供给其他的项目使用。虽然我们可以自由使用import或者export来对library进行导入和导入。但是什么样的用法才是最合适的用法呢?一起来看看吧。使用part和partof虽然很多程序员讨厌使用part,但是dart确实提供了part这种功能用来将一个大的l
简介每种语言都有自己的代码风格,这种代码风格是跟语言特性息息相关的。如果在编码的过程中遵循这种统一的编码规则,会给我们的业务带来非常多的便利。同样的,对应dart而已,也有属于自己的编码风格,一起来看看吧。命名规则一般来说,这个世界上有三种命名规则,分别是UpperCamelCase,lowerCamelCase和lowercase_with_underscores.UpperCamelCase表
简介一般情况要扩展一个类,需要继承这个类,这是在大多数java或者其他面向对象语言中要做的事情。但是有些时候扩展类并不是特别好用,首先在有些语言中,有些类是禁止被扩展的。即使可以被扩展,但是扩展之后的类是一个新的类,而不是原来的父类,所以在使用的过程中可能会出现一些类型转换的问题。那么在dart中是怎么解决这个问题的呢?dart中extension的使用dart在2.7之后,引入了extensio
简介之前介绍了很多dart中的异步编程技巧,不知道大家有没有发现一个问题,如果是在java的异步编程中,肯定会提到锁和并发机制,但是对于dart来说,好像从来没有听到多线程和并发的问题,这是为什么呢?今天,给大家讲解一下dart中的隔离机制,大家就明白了。dart中的隔离机制dart是一个单线程的语言,但是作为一个单线程的语言,dart却支持Future,Stream等异步特性。这一切都是隔离机制
简介在Dart2.12中引入了nullsafety的新特性,也就是说dart程序中默认类型都是非空的,除非你显示告诉编译器,这个类型可以为空。看起来是一个小小的改动,但是这个小小的改动导致了很多Dart包的大版本升级,从而导致使用Dart2.12之前的版本跟使用dart2.12之后的版本完全就是两个不同的世界。真的这么奇妙吗?一起来看看Dart2.12nullsafety的特性吧。Nonnulla
简介文件操作是IO中非常常见的一种操作,那么对应dart语言来说,操作文件是不是很简单呢?实际上dart提供了两种读取文件的方式,一种是一次性全部读取,一种是将文件读取为流。一次性读取的缺点是需要将文件内容一次性全部载入到内存中,如果遇到文件比较大的情况,就会比较尴尬。所以还需要流式读取文件的方式。一起来看看dart中这两种文件的读取方式吧。File事实上dart中有很多地方都有File这个类,这
简介web客户端和服务器端通信有两种方式,一种是使用HTTP请求,从服务器端请求数据。这种请求的缺点就是只能客户端拉取服务器端的数据,只能进行轮询。另外一种方式是使用WebSocket,在客户端和服务器端之间建立通道,这样服务器就可以直接向客户端推送消息,避免了客户端频繁的拉取服务器端的数据,造成服务器端的压力。dart:html包中就包含了WebSockets的相关操作,一起来看看吧。dart:
简介dart:html包为dart提供了构建浏览器客户端的一些必须的组件,之前我们提到了HTML和DOM的操作,除了这些之外,我们在浏览器端另一个常用的操作就是使用XMLHttpRequest去做异步HTTP资源的请求,也就是AJAX请求。dart同样提供了类似JS中XMLHttpRequest的封装,其对应的类叫做HttpRequest,一起来看看在dart中怎么使用HttpRequest吧。发
简介虽然dart可以同时用作客户端和服务器端,但是基本上dart还是用做flutter开发的基本语言而使用的。除了andorid和ios之外,web就是最常见和通用的平台了,dart也提供了对HTML的原生支持,这个支持就是dart:html包。dart:html提供了对DOM对象的各种有用的操作和对HTML5API的支持。这样我们可以直接使用dart来操作HTML。除了DOM之外,dart:ht
简介在我们日常使用的数据格式中json应该是最为通用的一个。很多时候,我们需要把一个对象转换成为JSON的格式,也可以说需要把对象编码为JSON。虽然在dart中所有的字符都是以UTF16来存储的,但是更加通用的格式应该是UTF8,同样的dart也提供了对UTF8的编码支持。所有的这一切,都包含在dart:convert包中。要想使用convet包,简单的引入即可:import'dart:conv
简介dart也可以进行数学运算,dart为数学爱好者专门创建了一个dart:math包来处理数学方面的各种操作。dart:math包提供了正弦,余弦,最大值,最小值和随机数等操作。一起来看看dart:math包都能做什么吧。dart:math包的构成如果你去查看dart:math的源代码,你会发现,dart:math包其实很简单,它里面只有4个文件。分别是:math.dart,random.dar
简介时间和日期是我们经常会在程序中使用到的对象。但是对时间和日期的处理因为有不同时区的原因,所以一直以来都不是很好用。就像在java中,为时间和日期修改和新增了多次API,那么作为新生的语言dart而言,会有什么不一样的地方吗?dart中关于日期和时间的两个非常重要的类是DateTime和Duration.其中DateTime表示的是时间,而Duration表示的是时间差。DateTime先看一下
Copyright © 2005-2022 51CTO.COM 版权所有 京ICP证060544号