web-dev-qa-db-ja.com

Android=ウィジェットをフラッターで構築することは可能ですか?

FlutterがWordウィジェットを多用しているため、このトピックに関するドキュメントを見つけるのが困難です。 Android(これはiOSでは不可能だと思います)では、ウィジェットをホームダッシュボードに追加して、アプリ関連の情報を表示したり、必要なくワンクリックアクションをトリガーしたりできます。問題のアプリを開きます。

Dart&Flutterでそのような「ウィジェット」を構築することは可能ですか?または、Java=でそれを実行し、どういうわけかそれを私のFlutterアプリに接続する必要がありますか?

リソースを含むリソースの例を共有できますか?

編集:Android開発経験はありませんが、 描画可能なキャンバス を使用するように聞こえるかもしれません。私は見つけることができます いくつかのキャンバスフラッターコード しかし、まだドットを接続することはできません。

編集2: このGithubの問題 から、Android Flutterのホームウィジェットは、Flutterが独自のレンダリングエンジンを持っているので、行く必要はありません。私は熱心です。学習 kotlin これを実行するためですが、誰かが私を助けるためのニースのチュートリアルを知っていれば、それは非常に役に立ちます。

23
Adrien Lemaire

OPが編集で述べたように、Flutterはカスタムレンダリングエンジンを使用しているため、現時点では不可能です。

ウィジェットはレンダリングできるものにかなり制限があります。 ドキュメント は、特定のレイアウトのみを使用できることを説明しています。理論的には、Flutterのソフトウェアレンダラーを使用して、メインのインスタンスとは別のインスタンスの画像にレンダリングして表示することができますが、それは非常に技術的であり、あまりパフォーマンスが高くなく、まったく簡単ではありません。

ここ は、Javaでのいくつかの例の作成をガイドするウィジェットの非常に詳細なチュートリアルです。クラスはほとんど交換可能であるため、同じロジックがKotlinのいくつかの構文上の変更に適用されます。ただし、現実的には、ほとんどの作業はAndroidでの配線を伴うレイアウトで行われます。 Android&Javaに既に慣れている場合は、Kotlinがアプリのサイズを少し増やします(The Kotlin runtime adds about 7,000 methods and ~1MB to your debug APKkotlin on Android FAQ )から、そしてほとんどのロジックはフラッターであるはずなので、もしこれがあればKotlin/Javaコードはそれほど多くないでしょう。使用しているのはこれだけです(ただし、Java&Kotlinの両方を初めて使用する場合は、Kotlinはおそらくいくつかの点でよりフレンドリーです)。

また、flutterアプリとJava/kotlinバックエンドの間で通信できるようにするには、 flutterのドキュメント で説明されているプラ​​ットフォームチャネルを使用する必要があります。

4
rmtmckenzie