Android原生跳转至React-Native的实现方案

写作时间:2020/4/27晚
React-Native版本:0.62
开发平台:windows
目标平台:android

本案例在初始化的RN项目上进行修改,将初始界面改为原生界面,如下图所示
在这里插入图片描述

上图提供了一个按钮,点击即可进入RN界面,如下图所示
在这里插入图片描述

该项目的具体实现过程和源码如下:

1 初始化RN工程:react-native init Init
这里我的项目名称为Init

2 修改App.js,用如下内容替换

// App.js
import React from 'react';
import {View, Text} from 'react-native';

export default class App extends React.Component {
  render() {
    return (
      <View style={{flex: 1, justifyContent: 'center', alignItems: 'center'}}>
        <Text>React-Native界面</Text>
      </View>
    );
  }
}

3 打开Android Studio,将MainActivity中的内容删除,换成如下代码

// MainActivity.java
package com.init;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
  }

  public void sendMessage(View view) {
    Intent intent = new Intent( MainActivity.this,RNActivity.class);
    startActivity(intent);
  }
}

4 在同样的路径下,添加RNActivity.java文件,添加如下代码

// RNActivity.java
package com.init;

import com.facebook.react.ReactActivity;

public class RNActivity extends ReactActivity {
    @Override
    protected String getMainComponentName() {
        return "Init";
    }
}

5 在res文件夹中添加layout文件夹,文件夹中添加新的文件activity_main.xml,如下图所示
在这里插入图片描述

该文件内部代码实现如下,当然你也可以直接通过拖拽控件的方式对界面进行调整

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

    <TextView
        android:id="@+id/textView"
        android:layout_width="120dp"
        android:layout_height="30dp"
        android:layout_margin="50dp"
        android:text="原生界面" />

    <Button
        android:id="@+id/button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="sendMessage"
        android:text="跳转到RN" />
</LinearLayout>

6 为按钮添加需要执行的方法sendMessage,这个方法在MainActivity中已经声明,如下图所示
在这里插入图片描述

7 最后一步,打开AndroidManifest.xml文件,添加新的Activity,如下图所示
在这里插入图片描述

以上内容完成之后,执行react-native run-android即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值