flutter常见问题

  1. 新版 flutter,ancestorWidgetOfExactType 方法过时
    老方法:
1
2
3
4
5
static T of<T extends BlocBase>(BuildContext context) {
final type = _typeOf<BlocProvider<T>>();
BlocProvider<T> provider = context.ancestorWidgetOfExactType(type);
return provider.bloc;
}

新方法:

1
2
3
4
static T of<T extends BlocBase>(BuildContext context) {
BlocProvider<T> provider = context.findAncestorWidgetOfExactType<BlocProvider<T>>();
return provider.bloc;
}

android常见问题汇总

Android8.0/8.1 屏幕旋转崩溃

原因:

android:screenOrientation=”portrait”
activity透明<item name="android:windowIsTranslucent">true</item>

解决方式:
去掉启动页的透明风格属性,并且启动页 style 加上如下属性:

1
<item name="android:windowDisablePreview">true</item>

禁止屏幕旋转

方法一,设置activity的

1
2
screenOrientation=“portrait”

方法二,activity的onCreate中

1
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); // 禁用横屏