flutter加入已有android项目,添加Flutter模块到已有项目(Android)

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

创建Flutter模块$ cd

#使用命令创建flutter模块,flutter_module是模块名

$ flutter create -t module flutter_module

主工程配置

app的build.gradleandroid{

......

compileOptions {

sourceCompatibility 1.8

targetCompatibility 1.8

}

}

dependencies {

implementation project(':flutter')

}

settings.gradle#原有的代码

include ':app'

#新增的代码

setBinding(new Binding([gradle: this]))

evaluate(new File(

settingsDir.parentFile,

#flutter模块路径

'my_flutter/.android/include_flutter.groovy'

))

通过以上配置,sync后,在Android Studio目录结构中,就会多出一个flutter模块.

编写Widget

使用window.defaultRouteName()获取当前Android传入的标识符.

在main.dart中编写以下代码import 'dart:ui';

import 'package:flutter/material.dart';

void main() => runApp(_widgetForRoute(window.defaultRouteName));

//根据不同的标识符,返回不同的Widget.

Widget _widgetForRoute(String route) {

switch (route) {

case 'route1':

return SomeWidget(...);

case 'route2':

return SomeOtherWidget(...);

default:

return Center(

child: Text('Unknown route: $route', textDirection: TextDirection.ltr),

);

}

}

Java代码获取Flutter的Widget

使用Flutter.createView(Context,Lifecycle,string)获取widget.//获取Flutter Widget

public class MainActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//route1代表传入的标识符

View flutterView = Flutter.createView(

MainActivity.this,

getLifecycle(),

"route1"

);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值