React Native Android编程:从MainActivity.java中的两个库扩展

时间:2018-01-12 15:57:19

标签: java android react-native

我正在关注react-native-splash-screen的配置指南,并最终遇到以下instruction

import android.os.Bundle;
import com.facebook.react.ReactActivity;
import org.devio.rn.splashscreen.SplashScreen;

public class MainActivity extends ReactActivity {
   @Override
    protected void onCreate(Bundle savedInstanceState) {
        SplashScreen.show(this);
        super.onCreate(savedInstanceState);
    }
}

我的问题是我们当前的源代码已经从react-native-navigation' s SplashActivity扩展而来。我知道我不能从两个或更多的超类扩展一个类。我如何协调这种需求?我主要来自Javascript编程背景。

import com.reactnativenavigation.controllers.SplashActivity;

public class MainActivity extends SplashActivity {...}

还有其他相关资源,但我正在寻找能够从react-native编程经验的角度回答的人的回答,因为我对Java或本机Android开发的接触很少。< / p>

2 个答案:

答案 0 :(得分:1)

查看React SplashActivity的源代码,没有太多进展。您是否可以简单地让MainActivity扩展ReactActivity并手动混合React SplashActivity的代码?

我知道这不是一个理想的解决方案,特别是在React SplashActivity的实现可能会发生变化的情况下,这似乎是目前唯一可用的选项。

您可以在ReactNative's Github上创建一个问题,要求SplashActivity代码可插入。

答案 1 :(得分:1)

react-native-navigation SplashActivity的主要目标是提供一种简单的方式来显示启动画面(通过实施createSplashLayout()getSplashLayout(),参见https://wix.github.io/react-native-navigation/#/android-specific-use-cases?id=splash-screen)。 如果您不需要react-native-splash-screen中的某项功能,我建议您使用SplashActivity,因为我现在看不到任何方法让它们协同工作。