美文网首页React NativeRNandroid
React Native使用react-native-splas

React Native使用react-native-splas

作者: AlstonWilliams | 来源:发表于2017-05-02 09:37 被阅读3862次

    现在我们做一个APP,不可避免的要添加一个启动页,使APP对用户更加友好.废话少说,我们现在就来介绍如何利用react-native-splash-screen为Android APP实现启动页.

    需要注意的是,如果你是为IOS实现,那么步骤是不一样的.具体请看官网.

    步骤

    添加依赖

    在项目根目录下执行下面这条命令:npm i react-native-splash-screen --save
    然后,我们还需要链接一下:react-native link

    创建布局文件

    android/app/src/main/res目录中,新建layout目录,在此目录下,创建launch_screen.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"
        android:background="@drawable/launch_screen">
    </LinearLayout>
    

    添加启动页图片

    android/app/src/main/res目录中,新建drawable-xhdpi和drawable-xxhdpi目录,在其中放入启动页图片,命名为launch_screen.png

    修改Android源文件

    修改android/app/src/main/java/com/meizhuang/MainActivity.java文件,添加如下内容:

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            SplashScreen.show(this);
            super.onCreate(savedInstanceState);
        }
    

    修改完成后,如下图所示:

    修改项目的js文件

    这里就仁者见仁智者见智了, 具体修改哪个文件,要看你想放在哪了.我这里因为就一个js文件,index.android.js,所以是直接放在了这个文件中.在项目的根组件中,添加如下内容:

    import SplashScreen from 'react-native-splash-screen'
    
    export default class WelcomePage extends Component {
    
        componentDidMount() {
             // do anything while splash screen keeps, use await to wait for an async task.
            SplashScreen.hide();
        }
    }
    

    我这里稍微修改了一下,让其暂停两秒后,再跳转到主页面:

    然后重新安装打包并安装APP到手机上,就会看到启动页

    相关文章

      网友评论

      • e5d90c227722:我的rn版本0.47编译出错跑不起来是怎么回事呀
        e5d90c227722:@ds_253d 我主要找不到包 然后我把路径改了官方文档太坑了
        e5d90c227722:@爸爸告诉你 解决了
        c5b3addc3e86:老铁 解决了吗 我跟你一样 .47版本 搞不来启动图
      • 5e64f6d1fc21:github上面的是不是老版本的配置啊。。。
        李俊_8216:重新编译下android,gradlew clean
      • 5e64f6d1fc21: Error: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException:
        这个错误是怎么回事,我rn版本为0.46
        AlstonWilliams:@5e64f6d1fc21 自Google吧,我这只是当初在尝试RN时记录的。后来我放弃了RN,用了原生开发。

      本文标题:React Native使用react-native-splas

      本文链接:https://www.haomeiwen.com/subject/nzcctxtx.html