flutter 小计2

1. Offstage类

复制代码
/**
 * 控制child是否显示
 *
	当offstage为true,控件隐藏; 当offstage为false,显示;
	当Offstage不可见的时候,如果child有动画等,需要手动停掉,Offstage并不会停掉动画等操作。
 
	const Offstage({ Key key, this.offstage = true, Widget child })
*/
 
简介
Offstage 的作用很简单,通过一个参数,来控制child是否显示,日常使用中也算是比较常用的控件。

布局行为
Offstage的布局行为完全取决于其offstage参数
 
当offstage为true,当前控件不会被绘制在屏幕上,不会响应点击事件,也不会占用空间;
当offstage为false,当前控件则跟平常用的控件一样渲染绘制;

另外,当Offstage不可见的时候,如果 child 有动画,应该手动停掉,Offstage并不会停掉动画。

2. 悬浮提示

复制代码
Tooltip(
  message: StringUtil.listToStr(value['dispose']),
  padding: EdgeInsets.all(10),
  verticalOffset: 0,
  decoration: BoxDecoration(
	color: Colors.white,
	borderRadius: BorderRadius.circular(2),
	border: Border.all(width: 1, color: CusTheme.colorC),
	boxShadow: [
	  BoxShadow(color: CusTheme.colorC, blurStyle: BlurStyle.normal, offset: Offset(0, 2), blurRadius: 3),
	],
  ),
  textStyle: TextStyle(fontSize: 12, color: CusTheme.color3, fontFamily: 'YaHei'),
  child: Text(
	StringUtil.listToStr(value['dispose']),
	style: Styles.styleF13C3,
	softWrap: false,
	overflow: TextOverflow.ellipsis,
	maxLines: 1,
  )
)

3. 为页面切换加入动画效果

https://flutter.cn/docs/cookbook/animation/page-route-animation

4. Flutter调用摄像头录像及获取视频信息

复制代码
https://blog.csdn.net/qq_38779672/article/details/121775507

5. Flutter: Semantics控件

复制代码
https://blog.csdn.net/qq_17766199/article/details/103823259
https://blog.csdn.net/cpongo1/article/details/89545685

6. setState 无效

复制代码
如果你使用的是底部导航栏,你需要一个没有状态的小部件列表。如果您想在页面中进行动画过渡,您将需要以下内容:
StatefulBuilder(
	builder:(BuildContext context, StateSetter setState) {
		   return Column(
                  crossAxisAlignment: CrossAxisAlignment.start,
                  children: [
                    TextButton(
                      onPress: (index) {
                        setState(() {
                          if (curIndex != index) {
                            curIndex = index;
                          }
                        });
                      },
                    ),
                    ...
                  ],
                );
	},
),

7. Another exception was thrown: setState() or markNeedsBuild() called during build

复制代码
如果你想在initState的时候调用这个组件,那么就需要等父组件创建完成后再去创建小组件,
官方提供了一个组件创建完成的回调通知方法。

	WidgetsBinding.instance.addPostFrameCallback((_) {
		   //需要创建的小组件
	 });
	
在父组件创建完成之后,再创建小组件。
相关推荐
ZH154558913128 分钟前
Flutter for OpenHarmony Python学习助手实战:API接口开发的实现
python·学习·flutter
一只大侠的侠42 分钟前
Flutter开源鸿蒙跨平台训练营 Day11从零开发商品详情页面
flutter·开源·harmonyos
一只大侠的侠1 小时前
React Native开源鸿蒙跨平台训练营 Day18自定义useForm表单管理实战实现
flutter·开源·harmonyos
一只大侠的侠1 小时前
React Native开源鸿蒙跨平台训练营 Day20自定义 useValidator 实现高性能表单验证
flutter·开源·harmonyos
renke33641 小时前
Flutter for OpenHarmony:节奏方块 - 基于时间同步与连击机制的实时音乐游戏系统设计
flutter·游戏
晚霞的不甘2 小时前
Flutter for OpenHarmony 可视化教学:A* 寻路算法的交互式演示
人工智能·算法·flutter·架构·开源·音视频
千逐682 小时前
《Flutter for OpenHarmony:星轨天气的粒子化气象宇宙可视化系统》
flutter
晚霞的不甘3 小时前
Flutter for OpenHarmony 实现计算几何:Graham Scan 凸包算法的可视化演示
人工智能·算法·flutter·架构·开源·音视频
千逐683 小时前
气象流体场:基于 Flutter for OpenHarmony 的实时天气流体动力学可视化系统
flutter
一只大侠的侠3 小时前
Flutter开源鸿蒙跨平台训练营 Day12从零开发通用型登录页面
flutter·开源·harmonyos