图片 1. 本地图片 Image.asset 加载项目资源包的图片 //先将图片拷贝到项目 images 目录中,然后在 pubspec.yaml文件配置文件相对路径到 assets Image.asset( 'images/cat.jpg', width: 200, height: 200, ) Image.file 加载手机内置或外置存储的图片 //加载Android平台的外置存储图片需要AndroidManifest.xml配置android.permission.READ_EXTERNA…
import 'package:flutter/material.dart'; import 'res/listData.dart'; void main() { runApp(MaterialApp( title: "demo", home: MyApp(), )); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBa…
在实际开发中,我们经常会遇到这样的需求,就是无论图片长啥样,我们都要其显示成圆形.圆形加一个边框.矩形加边框,带圆角的矩形等等,lib和demo下载地址:https://github.com/mapleyuan/RoundImageView.效果如下,大家有兴趣的可以下下来使用,发现有什么问题也欢迎向我提出. 下面我大概讲下实现. 首先当然是继承ImageView,重写onDraw()方法.我们来看看onDraw的实现:     protected void onDraw(Canvas canv…
在实际开发中,我们经常会遇到这样的需求,就是无论图片长啥样,我们都要其显示成圆形.圆形加一个边框.矩形加边框,带圆角的矩形等等,我已把自己平常用的组件和demo上传到了github(https://github.com/mapleyuan/RoundImageView)上,效果如下.大家有兴趣的可以下下来使用,发现有什么问题也欢迎向我提出. 下面我大概讲下实现. 首先当然是继承ImageView,重写onDraw()方法.我们来看看onDraw的实现:     protected void on…
一,概述 Image(图片组件)是显示图像的组件,一个显示图片的widget,支持图像格式:JPEG,PNG,GIF,动画GIF,WebP,动画WebP,BMP和WBMP. Image组件有多种构造函数: new Image: 从ImageProvider获取图像. new Image.asset: 加载本地图片文件. new Image.file: 加载本地图片文件. new Image.network: 加载网络图片. new Image.memory: 加载Uint8List资源图片. 二…
老孟导读:Flutter中布局组件有水平 / 垂直布局组件( Row 和 Column ).叠加布局组件( Stack 和 IndexedStack ).流式布局组件( Wrap )和 自定义布局组件(Flow). 水平.垂直布局组件 Row 是将子组件以水平方式布局的组件, Column 是将子组件以垂直方式布局的组件.项目中 90% 的页面布局都可以通过 Row 和 Column 来实现. 将3个组件水平排列: Row( children: <Widget>[ Container( hei…
写在前面 全文解析圆形Image组件的实现原理,取关键代码介绍算法细节,源码已经上传Github下载地址,欢迎下载试用. 一.Unity原生Image组件实现圆形图片的缺陷 Mask渲染消耗 许多游戏项目里免不了有很多图片是以圆形形式展示的,如头像,技能Icon等,一般做法是使用Image组件,再加上一个圆形的Mask.实现非常简单,但因为影响效率,许多关于ui方面的Unity效率优化文章,都会建议开发者少用Mask. 使用Mask会额外消耗多一个Drawcall来创建Mask,做像素剔除. M…
在开始之前,我们先写一个最简单的入口文件:     后面,都是在这个结构的基础上面完成的. 由于Container组件和Text组件都是写在body里面的,所以下面,先将body抽离成一个组件的形式. Container组件 在flutter里面Container组件是一个容器组件,类似于html中的div一样. 在Center组件里面添加Container组件,然后再添加Text组件,和上面的效果是一样的. Container.Text这些自定义组件的本质都是类,有很多可选的命名参数,在Con…
StatefulComponent使用方法入门 在上一篇Flutter入门之无状态组件中我们讲到了无状态组件,所谓的无状态组件指的就是其内部的状态是来自其父组件并使用final类型的变量来存储,当组件被build的时候它们就使用这些不可变的数据来构建自己的UI. 为了构建更加复杂且可和用户产生交互的组件,在flutter中提供了StatefulComponents来实现这种需求. 下面来看一个简单的例子'点击按钮,并在按钮文字上不断更新点击的次数'. import 'package:flutte…
Flutter核心理念 flutter组件采用函数式响应框架构建,它的灵感来自于React.它设计的核心思想是组件外构建UI,简单解释一下就是组件鉴于它当前的配置和状态来描述它的视图应该是怎样的,当组件的状态发生改变,组件会重构它的配置和状态(这些配置和状态是在组件外部重构的,内部的配置和状态都不可变的).然后底层框架会将最新的配置和状态与先前的做对比,由此产生一个最小的差值,并由此差值来决定底层渲染树从旧状态过度到新状态. Hello World 首先我们先来写一个最基本的flutter应用吧…