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((_) {
		   //需要创建的小组件
	 });
	
在父组件创建完成之后,再创建小组件。
相关推荐
ALLIN17 小时前
Flutter 三种方式实现页面切换后保持原页面状态
flutter
Dabei17 小时前
Flutter 国际化
flutter
Dabei17 小时前
Flutter MQTT 通信文档
flutter
Dabei21 小时前
Flutter 中实现 TCP 通信
flutter
孤鸿玉21 小时前
ios flutter_echarts 不在当前屏幕 白屏修复
flutter
前端 贾公子1 天前
《Vuejs设计与实现》第 16 章(解析器) 上
vue.js·flutter·ios
tangweiguo030519871 天前
Flutter 数据存储的四种核心方式 · 从 SharedPreferences 到 SQLite:Flutter 数据持久化终极整理
flutter
0wioiw01 天前
Flutter基础(②④事件回调与交互处理)
flutter
肥肥呀呀呀1 天前
flutter配置Android gradle kts 8.0 的打包名称
android·flutter
吴Wu涛涛涛涛涛Tao2 天前
Flutter 实现「可拖拽评论面板 + 回复输入框 + @高亮」的完整方案
android·flutter·ios