React Native+第三方库(react-native-splash-screen)实现APP启动页

最近想写一个react-native启动页网上最多的教程是使用react-native-splash-screen

https://github.com/crazycodeboy/react-native-splash-screen

而官方文档 过 于 不 详 细 于是今天踩坑后结合现有文档完善了下撸一份目前的可行方案

我的版本:

react-native

0.70.6
react-native-splash-screen3.3.0

首先下载安装包: npm i react-native-splash-screen --save

官方分自动安装(按照官方教程我没成功) ,还有手动安装 ,我们这里采用手动安装

  1. android/settings.gradle目录下,添加:
include ':react-native-splash-screen'   
project(':react-native-splash-screen').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-splash-screen/android')

2. android/app/build.gradle(路径不同于第一步)目录下中的 dependencies 对象,引入该安卓包:

...
dependencies {
    ...
    implementation project(':react-native-splash-screen')
}

3. android/app/src/main/java/com/xxxxx/MainActivity.java目录下,引入该安卓包:

import android.os.Bundle;  
import org.devio.rn.splashscreen.SplashScreen; 

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

这是别人给出的👆实际我的版本的rn可以自动导入的样子并不需要添加  SplashScreen.show(this);添加反而报错 于是我的是👇

import android.os.Bundle;  
import org.devio.rn.splashscreen.SplashScreen; 

@Override
    protected List<ReactPackage> getPackages() {
      @SuppressWarnings("UnnecessaryLocalVariable")
      List<ReactPackage> packages = new PackageList(this).getPackages();
      // Packages that cannot be autolinked yet can be added manually here, for
      // example:
      // packages.add(new Package());
      return packages;
    }

4. android/app/src/main/java/com/xxxxx/MainApplication.java 引入以下代码

 import org.devio.rn.splashscreen.SplashScreenReactPackage;

此时直接运行还是出现报错,继续接下来的步骤

5. android/app/src/main/res下创建layout文件夹,在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>

6. android/app/src/main/res/values文件夹下创建color.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="primary_dark">#000000</color>
</resources>

7. android/app/src/main/res下创建名为drawable-xhdpi文件(注意:这里可以创建drawable其他尺寸的文件 ),图片名称:launch_screen

8. 在App.js下添加以下代码:

import SplashScreen from 'react-native-splash-screen';

export default (): React.ReactElement => {
useEffect(() => {
      SplashScreen.hide();
  }, []);
  const topState = useBottomNavigationState();
...
};

9. 重新编译运行 react-native run-android / yarn android

eg : 虽然是成功了不过还是有些不完美,还是有一点白屏的存在,这时我们打开

android/app/src/main/res/values/styles.xml文件,添加<item name="android:windowIsTranslucent">true</item>,如下 :

<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <!--设置透明背景-->
        <item name="android:windowIsTranslucent">true</item> //<--添加这个
    </style>
</resources>

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
React Native开发中,也可以使用Podspec文件来描述iOS平台上的依赖库信息。 以下是在React Native中添加第三方库依赖的示例代码: 1. 在项目的`ios`目录下创建一个名为`Podfile`的文件,并添加以下内容: ``` platform :ios, '9.0' target '项目名称' do use_frameworks! pod '第三方库名称', '~> 版本号' end ``` 其中,`platform`表示iOS的最低版本,`target`表示需要配置的项目,`use_frameworks!`表示使用动态库,`pod`用于添加第三方库的依赖描述。 2. 在项目的`ios`目录下创建一个名为`Podfile.lock`的文件,并添加以下内容: ``` PODS: - 第三方库名称 (版本号) DEPENDENCIES: - 第三方库名称 (~> 版本号) SPEC CHECKSUMS: 第三方库名称: 校验和 ``` 其中,`PODS`表示已安装的第三方库列表,`DEPENDENCIES`表示项目中需要的第三方库列表,`SPEC CHECKSUMS`表示第三方库的校验和。 3. 在项目的`ios`目录下创建一个名为`项目名称.podspec`的文件,并添加以下内容: ``` Pod::Spec.new do |s| s.name = '项目名称' s.version = '1.0.0' s.summary = '项目描述' s.homepage = '项目主页' s.license = '项目许可证' s.author = { '作者名称' => '作者邮箱' } s.source = { :git => '项目源代码仓库地址', :tag => '项目版本号' } s.source_files = '项目源代码文件路径' # 项目的源代码文件 s.dependency '第三方库名称', '~> 版本号' # 项目依赖的第三方库 end ``` 其中,`name`表示项目的名称,`version`表示项目的版本号,`summary`表示项目的描述,`homepage`表示项目的主页,`license`表示项目的许可证,`author`表示项目的作者,`source`表示项目的源代码仓库地址和版本号,`source_files`表示项目的源代码文件路径,`dependency`表示项目依赖的第三方库。 需要注意的是,在使用Podspec文件描述第三方库依赖时,需要在项目的Podfile文件中添加对该库的依赖描述,并在Podfile.lock文件中添加依赖库的校验和。这样才能够在编译项目时正确地链接依赖库的代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

O&REO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值