1、常用布局的对比 使用下来其他组件大致还算方便,但是相对布局而言使用便利程度上Android原生完胜,ConstraintLayout内部的所有子View可以设置互相之间的位置依赖关系。 而Flutter的Stack组件内部的Children只能通过外层包裹 Align后 固定位置,比如 Alignment.topLeft、Alignment.bottomRight 等。遇到复杂的堆叠布局需要通过外层包裹 Positioned 组件后设置固定的 top 和 left 距离以达到效果,内部子组件之间无法设置位置关联关系。2、一些常用属性设置上的差异: Margin外边距 Android:直接在布局文件对View设置android:layout_marginStart、android:layout_marginTop Flutter:需嵌套 Container 组件并在内部设置具体的 margin 值 Padding内边距 Android:TextView、ImageView、各种Layout都可以直接在属性上设置android:paddingStart Flutter:需嵌套 Padding 组件并在内部设置具体的值 组件的可见性 Android:每个view都可以通过setVisibility来设置可见、隐藏或者隐藏但占位 Flutter:没有单独设置组件是否显示的api,只能通过 bool 值控制是否添加该组件 事件监听 Android:常规的setOnClickListener和setOnLongClickListener设置单击和长按事件 Flutter:在需要添加事件监听的组件外层嵌套 InkWell 或 GestureDetector 并设置 onTap 等3、生命周期 Android: Activity和Fragment各自有完整的生命周期链路onCreate、onStart、onResume、onPause、onDestroy等 Flutter: 万物皆组件,组件继承 WidgetsBindingObserver 并重写 didChangeAppLifecycleState 函数进行监听退回桌面依次执行inactive 》= paused,此时界面不可见用户不可操作,从桌面重新进入app执行resumed,状态较少如需在某些条件下触发特定操作可能要找别的方案,比如发通知之类的