繁体   English   中英

反应原生Android启动画面

[英]React Native Android Splash Screen

我正在尝试为Android RN应用程序构建启动画面。 我按照这里描述的步骤操作: https//www.bignerdranch.com/blog/splash-screens-the-right-way/

不幸的是,在尝试启动我的应用程序时,构建成功但应用程序崩溃说:

Error type 3
Error: Activity class {com.needlios/com.needlios.MainActivity} does not exist.

有谁知道这可能来自哪里?

我有以下代码:

SplashScreen.java

package com.needlios;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;

public class SplashActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Intent intent = new Intent(this, MainActivity.class);
        startActivity(intent);
        finish();
    }
}

MainActivity.java

package com.needlios;

import com.facebook.react.ReactActivity;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;

import java.util.Arrays;
import java.util.List;

public class MainActivity extends ReactActivity {

    /**
     * Returns the name of the main component registered from JavaScript.
     * This is used to schedule rendering of the component.
     */
    @Override
    protected String getMainComponentName() {
        return "NeedlIOS";
    }

    /**
     * Returns whether dev mode should be enabled.
     * This enables e.g. the dev menu.
     */
    @Override
    protected boolean getUseDeveloperSupport() {
        return BuildConfig.DEBUG;
    }

   /**
   * A list of packages used by the app. If the app uses additional views
   * or modules besides the default ones, add more packages here.
   */
    @Override
    protected List<ReactPackage> getPackages() {
        return Arrays.<ReactPackage>asList(
            new MainReactPackage(),
        );
    }
}

AndroidManifest.xml中

<activity
  android:name=".SplashActivity"
  android:label="@string/app_name"
  android:theme="@style/SplashTheme">
  <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
</activity>

好吧,现在好了。 我刚刚在AndroidManifest.xml中将android:name更改为android:name=".MainActivity"

虽然有效,但我不明白为什么它会显示启动画面...

只是分享,因为我也有这个工作。

改变了

安卓:名称

AndroidManifest.xml中的android:name =“。MainActivity”

正在工作,因为整个背景已被修改为Splashscreen主题。 这可能不是一个好的解决方案,就像从任何屏幕上删除backgroundColor一样; 此闪屏背景将出现。 最终,当您需要集成某些相机功能时,它会导致一些不需要的显示。 :(

大多数代码都基于此链接 ,只删除了启动活动。 如果有人在搜索,请添加values / colors.xml和drawable / backgroundsplash.xml。

你不能在ract-native脚本中创建启动画面,你需要转到本机实现。 要制作简单的启动画面,您需要在主要活动使用的主题上设置“android:windowBackground”。 以这种方式,它们将显示给用户,直到您的react-native视图完全加载。 这是关于如何做到这一点的文章

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM