Skip to content

Would like an explanation of how to do Flutter -> OEM -> Flutter navigation #10348

@eseidelGoogle

Description

@eseidelGoogle

A common question/worry I hear is "can I add a 'native' screen to my flutter app". Or "can I add flutter to my existing Android app". The answer to these both is obviously yes, but we don't have great examples/articles to show this. (Basically every shipping Flutter app does this for at least one screen -- commonly for using a 3rd party SDK which produces views (like auth) , or in the case of https://itunes.apple.com/nz/app/newsvoice/id1208421834?mt=8 they used a full-screen OEM view for handling comment input, due to text-input bugs in Flutter at the time).

Examples we do have:

Using Flutter next to native views (on the same screen):
https://github.com/flutter/flutter/tree/master/examples/flutter_view

Launching Android activities:
https://github.com/dart-flitter/flutter_webview_plugin
https://github.com/FaisalAbid/flutter-google-maps

And even one which does both android activities and ios:
https://pub.dartlang.org/packages/video_launcher

But I'm not sure if those fully answer the concern of folks asking these questions. I'd like to have an example/doc/article to point folks to to alleviate fears that "of course they can bust out into native screens if needed".

Examples of things this might do:

  1. Show how to add their own full-screen view (other than the plugins we've created for them already).
  2. Show how to integrate seamlessly with OEM screens (e.g. maintain a consistent AppBar color across the navigation).

We don't have to start with the perfect example. This was some of what I was attempting to convey when filing #8863. Given how commonly this question has come up, I think some amount of example/documentation work in this space is warranted.

Thoughts? @sethladd @mit-mit

Metadata

Metadata

Assignees

No one assigned

    Labels

    a: existing-appsIntegration with existing apps via the add-to-app flowc: new featureNothing broken; request for a new capability

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions