美文网首页Flutter
Flutter集成到现有Android项目中

Flutter集成到现有Android项目中

作者: 952625a28d0d | 来源:发表于2018-11-29 19:01 被阅读265次
    • 集成 Flutter Module到现有项目中,使用以下命令,在项目文件夹同级别目录下,记住同级别目录
    flutter create -t module vp_flutter
    
    • 创建完成后 磁盘中会多出来一个Flutter文件夹,和原生项目同级目录


      image.png
    • 然后配置 Project下Setting.grade文件 然后 Sync 即可

    //加入下面配置
    setBinding(new Binding([gradle: this]))
    evaluate(new File(
            settingsDir.parentFile,
            'vp_flutter/.android/include_flutter.groovy'
    ))
    
    • 上面的Sync之后,走下面命令,引入flutter,之所以加上 exclude group 是为了防止和项目中已经引入的库重复
       implementation(project(':flutter'),{
            exclude group: 'com.android.support'
        })
    
    • 好了 这就把Flutter集成到我们项目中了,我们先拿Flutter自带的View覆盖掉原生View试试

    • 注意这里用到了 lifecycle库,这个库是在 support 26.1.0 之后才有的,如果 版本低了,需要升级。

    package com.example.jiayuanfa.myapplication
    
    import android.support.v7.app.AppCompatActivity
    import android.os.Bundle
    import android.widget.FrameLayout
    import io.flutter.facade.Flutter
    
    class MainActivity : AppCompatActivity() {
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
    
            val flutterView = Flutter.createView(this@MainActivity,lifecycle,"route1")
            val layout = FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT)
            addContentView(flutterView, layout)
    
        }
    }
    
    
    • 跑一下
    image.png
    • 接下来 跑一下Flutter中已经存在的页面试试

    ~ 未完待续

    相关文章

      网友评论

        本文标题:Flutter集成到现有Android项目中

        本文链接:https://www.haomeiwen.com/subject/vuzfcqtx.html