Widget—Flex
Flex
direction(主轴方向)
mainAxisAlignment(主轴对齐方式)
crossAxisAlignment(交叉轴对齐方式)
textDirection(水平方向上的排列顺序)
verticalDirection(垂直方向上的排列顺序)
children(子组件)
Expended(可伸缩组件,放在弹性布局组件中)
flex(声明弹性布局所占比例)
child(子组件)
代码区
123456789101112131415161718192021222324252627282930class MyPage extends StatelessWidget { const MyPage({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return Flex( direction: Axis.horizontal,//主轴方向为水平 textDirecti ...
Widget—Column
Column中主轴方向是垂直方向
mainAxisAlignment设置主轴对齐方式
crossAxisAlignment设置交叉轴对齐方式
children设置内容
Widget—Row
主轴方向为水平方向,其余属性一致
代码区
1234567891011121314151617181920212223242526272829303132333435363738394041class MyPage extends StatelessWidget { const MyPage({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return Center(//居中组件,当没有指定widthFactor和heightFactor的时候,会尽可能的大 child: Container(//用有颜色属性的Container包裹部件,加上背景色,方便识别 color: Col ...
文件系统包含三种文件
普通文件:程序控制的文件
目录文件:目录提供了文件名称和文件本身之间的映射
特殊文件:I/O相关文件
普通文件
由应用程序控制。从Windows操作系统来看,就类似于word文档这个程序生成了以.doc为后缀的文件。这种文件想要被正确地读取也需要应用程序来操作。
目录文件
简单地理解,目录是一种文件,这种文件记录了其它文件的“家”。这种记录至少包含两个,一个是目录本身,一个是它的父目录。通过父目录来返回上一级,通过目录本身来访问该目录下的文件。
根据原论文,“相同的非目录文件可能出现在多个目录中,名称可能不同,这个特性被称为链接。”或许我们可以理解为windows的快捷方式?
The same nondirectory file may appear in severaldirectories under possibly different names. This feature is called linking; a directory entry for a file is sometimes called a link.
特殊文件
...
Container
child(子组件)
padding(margin)
EdgeInsets. ( all( ),fromLTRB( ),only( ) )
decoration
BoxDecoration(边框、圆角、渐变、阴影、背景色、背景图片)
alignment
Alignment(内容对齐)
transform
Matrix4(平移-translate、旋转rotate、缩放-scale、斜切、skew)
Container没有子组件的时候会尽可能大,但是如果Container的父组件有传递一个无限大(无边界)的约束给它,那Container就会尽可能小。
123456789101112131415161718192021222324class MyPage extends StatelessWidget { const MyPage({Key? key}) : super(key: key); @override Widget build(BuildContext context) ...
Icon
Icon是Flutter的图标库,使用方法Icon(Icons.icoName)
预览官网:https://material-io.cn/resources
Flutter-Text
Text
TextDirection(文本方向)
TextStyle(文本样式)
Clolors
FontWeight
FontStyle
TextDecoration(文本修饰:删除线等)
TextAlign
TextOverflow
maxLines
RichText和TextSpan 给文本生成多种样式
自定义字体
在https://fonts.google.com/下载
将解压后的字体文件夹放到项目下的fonts文件夹中
在pubspec.yaml中按注释示例进行配置
在全局层面设置字体:在MaterialApp中配置theme : ThemeData(fontFamily: ‘xxx’);
局部设置:在Text的style中设置fontFamily : ‘xxx’
这个笔记写下了Dart语言中一些常见的数据类型。
Number
Dart的数字有三个关键字
num(整数或小数)
int表示整数,声明变量时就不能输入浮点数,不然会报错。
double表示浮点数,即便声明变量时给的是整数,输出也是3.0之类。
一些少见的类型转换
1234double a=3.14159;double b;b=a.round();//保留整数的四舍五入b=a.toStringAsFixed(4);//保留四位小数的四舍五入
12345int a=10;double b;b=a.compareTo(10);//b为0则相同,1大于,-1小于b=a.remainder(4);//结果为a除以4的余数b=a.gcd(19);//结果为a和19的最大公约数
String
声明字符串
单引号、双引号
三个引号可声明带换行符的字符串
正则表达式
RegExp(r’正则表达式’)
常见API
replaceAll(str1,str2); 支持正则替换,即str1可以用正则表达式
isEmpty
isNotEmpty
contains(str) 查找 ...
这里是Dart的小小语法基础。
语法基础
123456void fun1(int age){ print("this is $age"); }void main(){ fun1(3);}
在js中声明函数使用function,而dart中则不用。更贴近c语言的函数形式。
打印用print而不是console.log
语句后面的分号不可省略
支持模板字符串,即字符串中添加$+变量名来展示。
void main( ){}是主函数入口。
注释
单行注释和多行注释同js一样。
///三斜杠是文档注释,支持markdown语法。
变量
变量是一个引用,变量存储的是对象的引用。
声明变量:
明确指定类型:int age=18;
不明确类型:var age=18;或 dynamic age=18;
变量名大小写敏感
变量默认值为null,js中默认为undefined
dart变量的值不会进行隐式转换,即null不会自动转成false
常量
常量是不可变的变量
声明常量
const age=18 ...