关于flutter module 的引用问题

来源:15-1 自测小作业(带着9个问题去学习)

qq_偽妳牵掛_luyR23

2022-10-27

我在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 页面中看不到底部的地图。

写回答

2回答

CrazyCodeBoy

2022-10-30

透传事件还不支持,可以将xml的framelayout改成LinearLayout然后,给地图和flutter布局分别设置下高度看看。
0
0

CrazyCodeBoy

2022-10-28

布局设置的问题,你在xml中修改下flutter页面的宽高试试看
0
1
qq_偽妳牵掛_luyR23
试过了,跟高度没关系。目前的做法就是设置flutter 里面的界面背景为透明。虽然这样子可以看到底部那个地图,但是由于flutter 是直接add 在整个页面上的,所以地图是无法拖动的,猜测应该flutterFragment 事件透穿的问题吧。 请问下,像这种混合界面开发,flutter 的事件如何透到底部呢
2022-10-28
共1条回复

Flutter从入门到进阶 实战携程网App 一网打尽核心技术

解锁Flutter开发新姿势,,系统掌握Flutter开发核心技术。

4788 学习 · 3270 问题

查看课程