Q1 Flutter Dart 报错 '_InternalLinkedHashMap dynamic, dynamic' is not a subtype of type'
解决方法
Map<String, dynamic> map1 = new Map<String, dynamic>.from(map2);
调用API,进行类型的转换
Q2 键盘弹出后导致超出屏幕高度
解决办法
return new Scaffold(
///背景样式
backgroundColor: Colors.white,
resizeToAvoidBottomPadding: false, //输入框抵住键盘
......
);
Q3 Column中包含GridView时一片空白
解决方法1
ListView/GridView的shrinkWrap改为true值(默认false)。
demo
GridView.builder(
shrinkWrap:true,
//注意
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisSpacing: 10.0, //水平子 Widget 之间间距
mainAxisSpacing: 10.0, //垂直子 Widget 之间间距
crossAxisCount: 4, //一行的 Widget 数量
),
itemCount: listData.length,
itemBuilder: this._getListData,
),
解决方法2
在Column中,再多使用Expanded包裹可滚动Widget,即可正常显示。
Q4 屏幕保持竖屏显示,不自动翻转屏幕
import 'package:flutter/services.dart';
void main() async {
//强制竖屏
await SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitUp,
DeviceOrientation.portraitUp
]);
runApp(
new YourApp(),
);
}
Q5 build ios 报The iOS deployment target ‘IPHONEOS_DEPLOYMENT_TARGET‘ is set to 8.0
解决方法
找到-ios目录下的Profile文件,搜索里面的IPHONEOS_DEPLOYMENT_TARGET
IPHONEOS_DEPLOYMENT_TARGET = 8.0
改成
IPHONEOS_DEPLOYMENT_TARGET = 9.0
再次执行
flutter clean
flutter build ios
网友评论