请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于flutter module 的引用问题

我在android工程中,引入了flutter module工程,通过以下代码将flutter 的界面添加到android 界面中,发现flutter的界面摭在android 页面的上层,为什么看不到下层的呢。
flutter 页面代码如下:

import 'package:bot_toast/bot_toast.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
class DemoFlutterAndroid extends StatefulWidget {
  var title;
  DemoFlutterAndroid({Key? key, required this.title}) : super(key: key);

  @override
  State<DemoFlutterAndroid> createState() => _DemoFlutterAndroidState();
}

class _DemoFlutterAndroidState extends State<DemoFlutterAndroid> {
  @override
  Widget build(BuildContext context) {
    print(rootBundle.toString());
    return  InkWell(
      child: Container(
        color: Colors.transparent,
        child: Text("adsfas"),
      ),
      onTap: (){
        BotToast.showText(text: "dafsdfsdf");
      },
    );
  }
}

android 添加flutter 代码如下:

   FlutterFragment flutterFragment = FlutterFragment.withNewEngine().initialRoute(data).build();
        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
        transaction.add(R.id.flutter_conent,flutterFragment);
        transaction.commit();
       

android xml 布局如下:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!--地图-->
    <com.tencent.tencentmap.mapsdk.maps.MapView
        android:id="@+id/map_content"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <!--flutter页面占位-->
    <FrameLayout
        android:id="@+id/flutter_conent"
        android:background="@android:color/transparent"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</FrameLayout>

最终在android 页面中看不到底部的地图。

正在回答 回答被采纳积分+3

2回答

CrazyCodeBoy 2022-10-30 18:37:36
透传事件还不支持,可以将xml的framelayout改成LinearLayout然后,给地图和flutter布局分别设置下高度看看。
0 回复 有任何疑惑可以回复我~
CrazyCodeBoy 2022-10-28 08:57:20
布局设置的问题,你在xml中修改下flutter页面的宽高试试看
0 回复 有任何疑惑可以回复我~
  • 提问者 qq_偽妳牵掛_luyR23 #1
    试过了,跟高度没关系。目前的做法就是设置flutter 里面的界面背景为透明。虽然这样子可以看到底部那个地图,但是由于flutter 是直接add 在整个页面上的,所以地图是无法拖动的,猜测应该flutterFragment 事件透穿的问题吧。 请问下,像这种混合界面开发,flutter 的事件如何透到底部呢
    回复 有任何疑惑可以回复我~ 2022-10-28 23:15:34
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信