1:修改flutter 在iOS和安卓中的,icon,启动页,名字:
-
iOS:Xcode 打开Runer 修改plist bundleName ,Asset添加APP Icon 和 launch Image。
-
Android:AndroidManifest.xml中修改名字;在backGround.xml中修改启动图launch image。
2:Flutter本地图片Asset的配置:
- 图片文件直接拖入project,在pubspec.yaml中设置 assets(解注释) 添加images path 。
- PS: 格式要求很严格,空格缩进 要注意。
3:需要改变状态的widget,状态管理:使用StatefulWidget,继承StatefulWidget。
4:手势添加 点击事件:push到新的页面:
GestureDetector、 Navigator.of、 MaterialPageRoute
return GestureDetector(//可以包裹 一个cell(Container),给与tap事件
onTap: () {
//注意格式 //push到新的页面
Navigator.of(context).push(MaterialPageRoute(
builder: (BuildContext content) => DiscoverChildPage('$title')));
},
5: 给自定义Cell(Widget)添加点击状态:
手势GestureDetector 中有不同的tap状态函数
在onTap()中设置setState 颜色为white
在onTapDown() 中设置setState 颜色为grey。
onTap: () {
setState(() {
_currentColor = Colors.white;
});
}
onTapDown: (TapDownDetails details) {
setState(() {
_currentColor = Colors.grey;
});
},
6:StatelessWidget 改为 StatefulWidget (无状态改为有状态):
构建 State Class 实现 build 方法,需要的数据以 ‘widget.name’ 的方式传给 State;
StatefulWidget Class 只保留描述widget信息代码,并实现 createState()函数。
{
@override
State<StatefulWidget> createState() {
return _DiscoverCellState();
}
}
class _DiscoverCellState extends State<DiscoverCell> {// 改为StateFul 后 此部分主要用来 刷新数据,渲染
//传的数据,需要用 widget.title 如此方式在下面代码使用
@override
Widget build(BuildContext context) {
return GestureDetector()
}
7:Image圆角设置,图片圆角设置:
Container、BoxDecoration、 DecorationImage
//DecorationImage: Creates an image to show in a [BoxDecoration].
Container(
width: 50,
height: 50,
decoration: BoxDecoration(// Box 装饰
borderRadius: BorderRadius.circular(10.0),
image: DecorationImage(image: AssetImage('images/Hank.png'),
fit: BoxFit.cover,),
),
)
8:iOS 去掉iPhone 11 的刘海:
MediaQuery.removePadding(
removeTop: true,//去掉头部
child:Container()
}
9:布局常用:
Row():横向布局。
Column():纵向布局。
Stack():Z轴方向布局。
网友评论