以下是在 Flutter 中创建一个插件并嵌套 Android 原生页面的示例代码:
1. 创建 Flutter 插件
首先,您需要创建一个 Flutter 插件。可以使用以下命令创建一个新的 Flutter 插件:
```
flutter create --template=plugin my_plugin
```
这将创建一个名为 `my_plugin` 的新插件项目。
2. 添加 Android 平台支持
接下来,您需要添加 Android 平台支持。在 `my_plugin` 项目中,打开 `android` 目录,并编辑 `build.gradle` 文件。添加以下依赖项:
```
dependencies {
implementation 'com.android.support:appcompat-v7:28.0.0'
}
```
然后,在 `MainActivity.java` 文件中添加以下代码:
```java
import android.content.Intent;
import android.os.Bundle;
import io.flutter.embedding.android.FlutterActivity;
import io.flutter.plugin.common.MethodChannel;
public class MainActivity extends FlutterActivity {
private static final String CHANNEL = "my_plugin/channel";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
new MethodChannel(getFlutterEngine().getDartExecutor().getBinaryMessenger(), CHANNEL)
.setMethodCallHandler((call, result) -> {
if (call.method.equals("openNativePage")) {
Intent intent = new Intent(this, NativeActivity.class);
startActivity(intent);
result.success(true);
} else {
result.notImplemented();
}
});
}
}
```
这将创建一个名为 `CHANNEL` 的方法通道,并在 `onCreate()` 方法中设置其方法调用处理程序。当 Flutter 调用 `openNativePage` 方法时,它将启动一个名为 `NativeActivity` 的原生 Android 页面。
3. 创建原生 Android 页面
现在,您需要创建一个名为 `NativeActivity` 的原生 Android 页面。在 `android` 目录中,右键单击 `java` 文件夹并选择 `New -> Activity -> Empty Activity`。将其命名为 `NativeActivity`。
在 `NativeActivity.java` 文件中添加以下代码:
```java
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
public class NativeActivity extends AppCompatActivity {