美文网首页
Flutter开发--基础组件

Flutter开发--基础组件

作者: 佼佼者Mr | 来源:发表于2020-05-16 20:15 被阅读0次

    什么是Widget?

    一切皆是Widget,Widget是Flutter应用用户界面的基本单元,每个Widget都与最终的用户界面的展示紧紧相关

    MaterialApp

    Meterial应用以MaterialApp Widget开始,主要封装了应用程序实现Metrial Design所需要的一些配置

    常用基础控件

    text

    image :要配置yaml文件,格式必须正确,缩进两位

    线性布局:是指沿水平方向或者垂直方向排列子布局,flutter中荣国row(横向,行)或者column(纵向,列)来实现线性布局

    弹性布局:弹性布局允许子控件按照一定比例来分配父容器空间,flutter中的弹性布局主要依靠flex和expanded来配合实现

    层叠布局:层叠布局能够将子控件层叠排列,flutter中stack允许子组件堆叠,而positioned用于根据stack的四个角来确定子组件的位置

    Listview   Gridview: 通过build来大量创建item

    路由:在flutter中,屏(screen)和页面(pager)都叫做路由(route),路由管理,就是管理页面之间如何跳转,在flutter中维护一个路由栈,路由入栈操作对应打开一个新页面,路由出栈对应关闭一个新页面,而路由管理主要是指如何来管理路由栈

    通过onPressd触发点击事件,Navigator.push()进行入住管理,Navigator.pop()出栈管理

    onPressed: () {

    Navigator.push(context, MaterialPageRoute(builder: (context)=>SecondRoute()));

    },

    Flutter动画

    控件与交互

    基础动画

    路由动画 默认MaterialPageRoute动画效果,还可以自定义。

    hero动画(共享动画)hero标签,tag必须一致

    交织动画

    Flutter手势

    指针和手势

    指针事件:

    PointerDownEvent:指针在特定位置与屏幕接触

    PointerMoveEvent:指针从屏幕一个位置移动到另一个位置

    PointerUpEvent:指针与屏幕停止接触

    PointerCancelEvent:指针的指向已经不再指向该应用。

    HitTestBehavior

    deferToChild:子组件会一个接一个的进行命中测试,如果子组件收到事件,父级组件也会收到该事件

    opaque:在命中测试时,将当前组件当成不透明处理(即时本身透明)

    translucent:当点击组件透明区域时,可以对自身边界内及底部可视区域都进行命中测试

    忽略指针事件

    IngorePointer:阻止子树接受指针事件,本身不会参与命中测试

    AbsorbPointer:组织子树接受指针事件,本身参与命中事件

    手势

    GestureDetector:用于手势识别的功能性组件,可以识别各种手势,是指针事件的语义化封装,内部使用一个或多个GestureRecognizer

    GestureRecognizer:通过Listener将原始指针事件转化为语义手势

    平台集成

    flutter client通过MethodChannel反射iOS端和Android的插件,通过通道得到原生方法的执行。

    总结:

    目前学习flutter只是一套ui框架,包括申请权限,调用摄像头,读写文件还是需要在各个平台开发。

    相关文章

      网友评论

          本文标题:Flutter开发--基础组件

          本文链接:https://www.haomeiwen.com/subject/jizfohtx.html