进阶 reactnative.dev 2026-10-11 06:04:21 · 28 阅读

第57章 React Native 集成 Android Fragment 教程

版本:0.77 与 Android Fragment 集成 《集成到现有应用》指南介绍了如何把一个全屏的 React Native 应用作为 Activity 集成到现有 Android 应用中。 如果想在现有应用的 Fragment 中使用 React Native 组件,还需要一些额外的配置。 1. 将 React Native 添加到你的应用 先按照《集成到现有应用》指南完整操作一遍,确保能在全屏 Activity 中正常运行 React Native 应用。 2. 为 React Native Fragment 添加一个 FrameLayout 本例中,我们用 FrameLayout 把 React Native Fragment 添加到 Activity 里。这种方式足够灵活,也可以套用到其他布局上,比如 Bottom Sheets 或 Tab Layouts。 首先,在 Activity 的布局文件中(例如 res/layouts 目录下的 main_activity.xml)添加一个带 id、宽度和高度的 。渲染 React Native Fragment 时就是找到这个布局。 XML android:id="@+id/react_native_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
3. 让宿主 Activity 实现 DefaultHardwareBackBtnHandler 由于宿主 Activity 不是 ReactActivity,你需要实现 DefaultHardwareBackBtnHandler 接口来处理返回键事件。 React Native 处理返回键事件时需要用到这个接口。 打开宿主 Activity,让它实现 DefaultHardwareBackBtnHandler 接口: JavaKotlinDiffpackage

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
+import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler

+class MainActivity : AppCompatActivity() {
+class MainActivity : AppCompatActivity(), DefaultHardwareBackBtnHandler {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main_activity)

findViewById

评论 (0)