Flutter:弹性布局组件:Expanded
简介Expanded组件是flutter中使用率很高的一个组件,它可以动态调整child组件沿主轴的尺寸,比如填充剩余空间,比如设置尺寸比例。它常常和Row或Column组合起来使用。
还记得在使用Row和Column组件的时候,我们内部的内容都聚集在一起的的吗?如果要让他们占满一行或一列进行平均分配或比例分配就需要Expanded组件。
Expanded有一个flex属性比较常用。flex表示弹性系数,默认是1。
1、将一行的内容进行比例分配
import 'package:flutter/material.dart';
class LayoutExpandedWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('弹性布局组件:Expanded'),
elevation: 0.0,
centerTitle: true,
),
body: Column(
children: [
Text("等比分配"),
Row(
children: [
Expanded(
child: Text("Row Text Left"),
),
Expanded(
child: Icon(Icons.add),
),
Expanded(
child: Text("Row Text Right"),
),
],
),
Row(
children: [
Expanded(
child: Container(
height: 150,
child: Text("Row Text Left"),
color: Colors.red,
),
),
Expanded(
child: Container(
height: 150,
child: Icon(Icons.add),
color: Colors.blue,
),
),
Expanded(
child: Container(
height: 150,
child: Text("Row Text Right"),
color: Colors.yellow,
),
)
],
),
Text("指定比例分配,需要设置flex:2:1:5"),
Row(
children: [
Expanded(
flex: 2,
child: Container(
height: 150,
child: Text("Row Text Left"),
color: Colors.red,
),
),
Expanded(
flex: 1,
child: Container(
height: 150,
child: Icon(Icons.add),
color: Colors.blue,
),
),
Expanded(
flex: 5,
child: Container(
height: 150,
child: Text("Row Text Right"),
color: Colors.yellow,
),
)
],
),
],
));
}
}
2、将一列的内容进行比例分配
import 'package:flutter/material.dart';
class LayoutExpandedWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('弹性布局组件:Expanded'),
elevation: 0.0,
centerTitle: true,
),
body: Row(
children: [
Column(
children: [
Expanded(
child: Text("Row Text Left"),
),
Expanded(
child: Icon(Icons.add),
),
Expanded(
child: Text("Row Text Right"),
),
],
),
Column(
children: [
Expanded(
child: Container(
height: 150,
child: Text("Row Text Left"),
color: Colors.red,
),
),
Expanded(
child: Container(
height: 150,
child: Icon(Icons.add),
color: Colors.blue,
),
),
Expanded(
child: Container(
height: 150,
child: Text("Row Text Right"),
color: Colors.yellow,
),
)
],
),
Column(
children: [
Expanded(
flex: 2,
child: Container(
height: 150,
child: Text("Row Text Left"),
color: Colors.red,
),
),
Expanded(
flex: 1,
child: Container(
height: 150,
child: Icon(Icons.add),
color: Colors.blue,
),
),
Expanded(
flex: 5,
child: Container(
height: 150,
child: Text("Row Text Right"),
color: Colors.yellow,
),
)
],
),
],
),
);
}
}

打包出现如下错误:Error: Application entry file "dist\electron\main.js" in the "D:\gui\demo2\build\win-unpacked\resources\app.asar" does not exist. Seems like a wrong configuration.
在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。
《康熙王朝》是一部非常优秀的电视连续剧,陈道明演的康熙是我觉得最有帝王气魄,让人意犹未尽,本文主要记录一小段非常经典的对白。
为了能让虚拟机能连接网络,并且能与宿主机能相互进行访问,所以需要多虚拟机几种网络模式进行学习,以便后期能快速的进行配置。
单一职责原则(Single Responsibility Principle,SRP)又称单一功能原则,由罗伯特·C.马丁(Robert C. Martin)于《敏捷软件开发:原则、模式和实践》一书中提出的。这里的职责是指类变化的原因,单一职责原则规定一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分(There should never be more than one reason for a class to change)。
快速生成表格
在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。
Docker编译镜像出现:fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory问题