Flutter使用小技巧三(持续更新...)
- Row 直接包裹 TextField 异常:BoxConstraints forces an infinite width
- Expanded、Flexible区别
- Android无法访问http
- IOS无法访问http
- 获取当前系统Locale
- ClipRRect 圆角无效
- 箭头函数不要写多行,否则报错
- StatefulWidget 构造传参数
- No MediaQuery ancestor could be found?
- 打开一个下载的Flutter module没有android或者.Android文件运行报AndroidManifest.xml could not be found.
- Flutter Android应用启动白屏的解决方案
- Flutter 输入框导致Column溢出
- Column溢出
- Cannot use this MethodChannel before the binary messenger has been initialized
- 解决flutter在iOS14+真机上的运行问题
- 设置BottomNavigationBar超过3个后,不显示颜色
- 多个main函数选择性打包
- Mac 打包 flutter项目 ipa 打包步骤
- 输入框搜索请求限制
- InWell、RaisedButton去除点击效果
- 去除ListView、SingleChildScrollView、CustomScrollView边界水波纹效果
- 空间适配FittedBox
- GridView item设置高度
- 条件导入
Row 直接包裹 TextField 异常:BoxConstraints forces an infinite width
//使用Flexible包裹
Row(
children: <Widget>[
Flexible(
child: new TextField(),
),
],
),
Expanded、Flexible区别
Flexible
是一个控制Row
、Column
、Flex
等子组件如何布局的组件。
Flexible
组件可以使Row
、Column
、Flex
等子组件在主轴方向有填充可用空间的能力(例如,Row
在水平方向,Column
在垂直方向),但是它与Expanded
组件不同,它不强制子组件填充可用空间
Row
、Column
、Flex
会被Expanded
撑开,充满主轴可用空间。
Expanded
代码
body: new Row(
children: <Widget>[
new RaisedButton(
onPressed: () {
print('点击红色按钮事件');
},
color: const Color(0xffcc0000),
child: new Text('红色按钮'),
),
new Expanded(
flex: 1,
child: new RaisedButton(
onPressed: () {
print('点击黄色按钮事件');
},
color: const Color(0xfff1c232),
child: new Text('黄色按钮'),
),
),
new RaisedButton(
onPressed: () {
print('点击粉色按钮事件');
},
color: const Color(0xffea9999),
child: new Text('粉色按钮'),
),
]
),
Flexible
代码
body: new Row(
children: <Widget>[
new RaisedButton(
onPressed: () {
print('点击红色按钮事件');
},
color: const Color(0xffcc0000),
child: new Text('红色按钮'),
),
new Flexible(
flex: 1,
child: new RaisedButton(
onPressed: () {
print('点击黄色按钮事件');
},
color: const Color(0xfff1c232),
child: new Text('黄色按钮'),
),
),
new RaisedButton(
onPressed: () {
print('点击粉色按钮事件');
},
color: const Color(0xffea9999),
child: new Text('粉色按钮'),
),
]
),
Android无法访问http
android11以及以后为了安全Android系统禁用了http的网络请求
需进行如下配置
- 创建
network_security_config.xml
. (res/xml) - 配置
<application android:networkSecurityConfig="@xml/network_security_config">...
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system"