技术标签: 培训
21.流式布局
Wrap(
spacing: 8.0, // 主轴(水平)方向间距
runSpacing: 4.0, // 纵轴(垂直)方向间距
alignment: WrapAlignment.center, //沿主轴方向居中
children: <Widget>[
new Chip(
//avatar: new CircleAvatar(backgroundColor: Colors.blue, child: Text('A')),
label: new Text('Hamilton'),
),
new Chip(
avatar: new CircleAvatar(backgroundColor: Colors.blue, child: Text('M')),
//超出范围会折叠
label: new Text('Lafayette'*100),
),
new Chip(
avatar: new CircleAvatar(backgroundColor: Colors.blue, child: Text('H')),
label: new Text('Mulligan'),
),
new Chip(
avatar: new CircleAvatar(backgroundColor: Colors.blue, child: Text('J')),
label: new Text('Laurens'),
),
],
)
效果:
22.层叠布局的定位
Stack(
alignment:Alignment.center , //指定未定位或部分定位widget的对齐方式
children: <Widget>[
//水平方向和垂直方向都没有定位,所以用Alignment.center的水平和垂直居中
Container(child: Text("Hello world",style: TextStyle(color: Colors.white)),
color: Colors.red,
),
//定位了水平方向,垂直方向未定位,所以用Alignment.cente的垂直居中
Positioned(
left: 18.0,
child: Text("I am Jack"),
),
//定位了垂直方向,水平方向未定位,所以用Alignment.cente的水平居中
Positioned(
top: 18.0,
child: Text("Your friend"),
)
],
),
效果:
23.层叠布局的堆叠效果
Stack(
alignment:Alignment.center ,
fit: StackFit.expand, //未定位widget占满Stack整个空间
children: <Widget>[
//已定位,只要定位了一个方向就是已定位
Positioned(
left: 18.0,
child: Text("I am Jack"),
),
//未定位,所以fit属性会对它起作用,就会占满Stack,第一个文本看不到了
Container(child: Text("Hello world",style: TextStyle(color: Colors.white)),
color: Colors.red,
),
//Stack子元素是堆叠的,第三个文本已定位,会堆叠在第二个文本上
Positioned(
top: 18.0,
child: Text("Your friend"),
)
],
),
效果:
24.上下左右对齐
Container(
height: 120.0,
width: 120.0,
color: Colors.blue[50],
child: Align(
//将FlutterLogo定位在Container的右上角
alignment: Alignment.topRight,
child: FlutterLogo(
size: 60,
),
),
)
效果:
25.通过坐标定位
Container(
color: Colors.blue[50],
child: Align(
//宽度因子为2,总宽度为2*60
widthFactor: 2,
//高度因子为3,总高度为3*60
heightFactor: 3,
//(0,0)就是矩形的中心点,居于这个点,一个单位就移动一格
alignment: Alignment(0,1.0),
child: FlutterLogo(
size: 60,
),
)
)
效果:
26.通过坐标定位
Container(
color: Colors.blue[50],
child: Align(
//宽度因子为2,总宽度为2*60
widthFactor: 2,
//高度因子为3,总高度为3*60
heightFactor: 3,
//(0,0)就是矩形的左上角的顶点,居于这个点,一个单位就移动一格
alignment: FractionalOffset(0,0),
child: FlutterLogo(
size: 60,
),
)
)
效果:
27.边框外的空白填充
class PaddingTestRoute extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Padding(
//上下左右各添加16像素补白
padding: EdgeInsets.all(16.0),
child: Column(
//显式指定对齐方式为左对齐,排除对齐干扰
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Padding(
//左边添加8像素补白
padding: const EdgeInsets.only(left: 8.0),
child: Text("Hello world"),
),
Padding(
//上下各添加8像素补白
padding: const EdgeInsets.symmetric(vertical: 8.0),
child: Text("I am Jack"),
),
Padding(
// 分别指定四个方向的补白
padding: const EdgeInsets.fromLTRB(20.0,.0,20.0,20.0),
child: Text("Your friend"),
)
],
),
);
}
}
效果:
28.平移
//装饰容器
DecoratedBox(
decoration:BoxDecoration(color: Colors.red),
//默认原点为左上角,Text文本左移20像素,向上平移5像素
child: Transform.translate(
offset: Offset(-20.0, -5.0),
child: Text("Hello world"),
),
)
效果:
前言采用UIPickerView实现,核心方法czh_getData:构建数据模型,先从网络进行获取数据,如果获取失败,直接取本地的city.json选择省市区效果选择省市使用方法 [AddressPickerView areaPickerViewWithProvince:self.viewModel.AddressPickerModel.province city:self.viewModel.AddressPickerModel.city provinceId:
文章目录起因:为什么要从源码编译安装cmake?方法1. 从官网下载源码、解压2. 删除旧版CMake3. 编译结果起因:为什么要从源码编译安装cmake?笔者在编译gRPC相关项目时,gRPC官方要求cmake版本必需满足cmake>=3.13,然而我使用apt能获取到的最新版本为3.11,此时cmake官网版本已经到了3.17.3。并且由于笔者是在树莓派上使用cmake,官网上编译...
# include # include main(){ int a=2,n,b[100],sum=0; scanf("%d",&n); b[0]=a; for(int i=1;i<n;i++) { b[i]=b[i-1]+2*pow(10,i); sum=sum+b[i]; } printf("%d",sum+2);}
晶少发自 凹非寺量子位 报道 | 公众号 QbitAI导语:在云网络风靡的今天,洛神云网络作为阿里云飞天的虚拟网络系统核心,目前在软硬一体、NFV平台创新以及智能性方面究竟有何新意?对...
/mnt # insmod hi3521a_ai.kohi3521a_ai: Unknown symbol VB_InquirePoolUserCnt (err 0)hi3521a_ai: Unknown symbol CMPI_UnRegisterModule (err 0)hi3521a_ai: Unknown symbol CMPI_MmzMallocNocache (err 0
json传递的过程中移动端传递的是:{"addr":"山东省苍山县车辋镇念沂泉村113号","csrq":"1990年04月06日","fzdw":"苍山县公安局","ksjc":"newdata","mz":"汉","ptzjhm":"37132419900406403X","rlsbjg":"2","sid":"31eed7584018138b","xb":"男","xm":"李君君","
摘要Laravel的目标是给开发者创造一个愉快的开发过程,并且不牺牲应用的功能性。快乐的开发者才能创造最棒的代码!为了这个目的,开发者博取众框架之长处集中到Laravel中,这些框架甚至是基于Ruby on Rails、ASP.NET MVC、和Sinatra等开发语言或工具的。对Laravel初步认知刚从事PHP开发没多久,对PHP的一些框架了解甚少,在CSDN上看到一篇
我一直以为,世间万事万物,都存在着某种规律性的东西,只不过,有的已经被发现,有的还在人们的探索过程中,等待被发现,软件设计亦然。其实,生活中的很多东西,是可以相通的(比如心和心)。 不是吗?那本很有名的书《建筑的永恒之道》,正是归纳出了长久以来,在人们漫长的经历中摸索出来的有关建筑的一些规律性的东西。然而,它却不仅止于建筑,它还可以延伸至其他诸多领域。我们可以发现,很多精彩的软件设计模式
mvvmmme矩阵p矩阵 用矩阵乘做消元换行矩阵乘求逆guass jorden求逆
query() :query(XQuery expression) 在XML文档或片断中选择数据,类似于SELECT语句。 value() :value(XQuery expression, SQL datatype) 合并query()方法与SQL中的CONVERT函数的功能。这个方法允许在XML文档或片断中选择一个值并将其转换成特定的数据类型。 exist() :exist(XQu