Flutter开发随笔

开发随笔

带皇冠的头像优化:

https://blog.csdn.net/lqw200931116/article/details/123372095

  • clipBehavior:此属性决定如何显示超出Stack的子组件是否被剪切;值为Clip.hardEdge时,超出部分会被剪裁(隐藏),值为Clip.none 时则不会,超出部分会显示

图片

为什么 Button 里 不要再设置颜色。猜测是由于DefaultTextStyle

[flutter 解决:setState() called after dispose()]

防止页面关闭执行setState()方法

解决方法

1
2
3
4
5
void updateState(fn){
if (mounted) {
setState(fn);
}
}

Flutter:获取状态state的几种方式

baseui_kit中的 data_util.dart

1
2
3
4
5
6
7
8
9
10
11
import 'package:flutter/material.dart';
// import 'dart:ui';

///枚举类型转string
String enumToString(o) => o.toString().split('.').last;

///string转枚举类型
T enumFromString<T>(Iterable<T> values, String value) {
return values.firstWhere((type) => type.toString().split('.').last == value,
orElse: () => null);
}

字符串与日期相互转换

String–>DateTime

1
DateTime.parse(String);

DateTime –>formatString

1
2
3
4
5
6
import 'package:date_format/date_format.dart';

formatDate(DateTime(2020, 12, 23) ,['yyyy', '-', 'mm', '-', 'dd']);
formatDate(DateTime(2020, 12, 23, 20, 40, 10), [‘HH’, ':', ‘nn’, ':', ‘ss’])

这里使用了日期格式化库:date_format。

Flutter 日期格式化库 date_format

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
flutter sdk 版本升级到2.0或者更高的版本后就发现运行时会报错:
Error: Cannot run with sound null safety, because the following dependencies
don't support null safety:

- package:loading_indicator_view
- package:flutter_swiper
- package:flutter_page_indicator
- package:transformer_page_view

For solutions, see https://dart.dev/go/unsound-null-safety


FAILURE: Build failed with an exception.

也就是说以上有些包不支持 safety模式。

解决方案:--no-sound-null-safety
run
flutter run --no-sound-null-safety
build
flutter build apk --no-sound-null-safety

Flutter Error: Cannot run with sound null safety, because the following dependencies don‘t support

Flutter2 的 Sound null safety 是个什么鬼?!

flutter_webview_plugin和webview_flutter

iOS中WKWebView加载网页失败或者无网络状态判断

flutter嵌入HTML5页面,Flutter加载Html并实现与JS 的双向调用

几种常见视频格式ContentType和FileType对照表

Content-Type的格式

Content-Type:type/subtype ;parameter

type:主类型,任意的字符串,如text,如果是号代表所有;
subtype:子类型,任意的字符串,如html,如果是
号代表所有,用“/”与主类型隔开;
parameter:可选参数,如charset,boundary等。
例如:

Content-Type: text/html;
Content-Type: application/json;charset:utf-8;
Content-Type: application/x-www-form-urlencoded;charset:utf-8;

Flutter Fix

共享数据

三方库

flutter SliverAppBar

埋点

曝光

Flutter 解决TextOverflow.ellipsis截断字符

布局

布局的性能优化