日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

android中使用react-native設置應用啟動頁過程詳解

瀏覽:30日期:2022-09-23 11:23:42

一、背景

在我們使用react-native進行編寫代碼的時候,當啟動應用的時候,我們會看到如下界面

android中使用react-native設置應用啟動頁過程詳解

然而,這樣的啟動界面是非常的不又好,那么我們該怎么進行處理啟動界面呢?有如下兩種方案

二、方案

1.使用第三方庫(react-native-splash-screen)2.ios系統設置(僅適用ios系統,在這里不做講解)

三、具體實現方式

一).react-native-splash-screen

1.安裝

npm i react-native-splash-screen --save

2.鏈接到底層代碼

1.自動配置鏈接

react-native link react-native-splash-screen

or

rnpm link react-native-splash-screen

2.手動配置鏈接 Android手動配置:

(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 { ... compile project(’:react-native-splash-screen’) ... }

(3)在 MainApplication.java文件中添加如下代碼:

import org.devio.rn.splashscreen.SplashScreenReactPackage; ... @Override protected List<ReactPackage> getPackages() { return Arrays.<ReactPackage>asList( new MainReactPackage(), new SplashScreenReactPackage(), // 添加啟動頁代碼 ); }

以上就是android系統中鏈接的方式,下面是ios底層鏈接的方式 ios手動配置: (1)在 XCode中, 點擊項目,打開展開項目右鍵點擊 Libraries ➜ Add Files to [your project’s name],選中路徑 node_modules ➜ react-native-splash-screen and add SplashScreen.xcodeproj添加SplashScreen.xcodeproj項目文件

(2)在 XCode中, 點擊項目,打開展開項目, 選中你的項目. 添加 libSplashScreen.a 到你的項目的 Build Phases ➜ Link Binary With Libraries中,界面如下所示:

android中使用react-native設置應用啟動頁過程詳解

(3)修復 ’SplashScreen.h’ file not found, 選擇你的項目 → Build Settings → Search Paths → Header Search Paths to add:

$(SRCROOT)/../node_modules/react-native-splash-screen/ios

界面如下所示:

android中使用react-native設置應用啟動頁過程詳解

以上就是ios系統的配置鏈接的方法,下面就讓我們來看看具體在代碼中的使用

3.進行使用

android:

(1)在MainActivity.java文件中添加如下代碼:

import android.os.Bundle; // here 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); } // ...other code }

(2)添加啟動頁圖片及布局 在路徑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>

(3)在res文件夾下面創建如下文件夾,添加對應分辨率圖片,分別對應放入下面文件夾,圖片命名和xml中一致,命名為launch_screen

drawable-ldpi drawable-mdpi drawable-hdpi drawable-xhdpi drawable-xxhdpi drawable-xxxhdpi

到這里,我們已經能夠在界面中能夠看到啟動頁的加載了,但是為了能有更好的效果,我們繼續往下看,在文件夾app/src/main/res/values/colors.xml中添加一個顏色命名為status_bar_color ,其中status_bar_color為狀態欄顏色設置,代碼如下所示:

<?xml version='1.0' encoding='utf-8'?> <resources> <color name='status_bar_color'>#FF0000</color> </resources>

同時我們能夠在啟動的過程中看到有白屏出現,我們將啟動背景設置成透明背景,使用下面方式進行處理, 打開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>

當然,你也可以使用自定義的啟動顏色,如下面所示:

在路徑android/app/src/main/res/values/colors.xml文件添加如下代碼用于設置狀態欄

<?xml version='1.0' encoding='utf-8'?><resources> <color name='status_bar_color'><!-- Colour of your status bar here --></color></resources>

在路徑android/app/src/main/res/values/styles.xml中添加自定義樣式,代碼如下所示:

<?xml version='1.0' encoding='utf-8'?><resources> <style name='SplashScreenTheme' parent='SplashScreen_SplashTheme'> <item name='colorPrimaryDark'>@color/status_bar_color</item> </style></resources>

然后修改啟動頁展示的樣式選擇就可以了:

SplashScreen.show(this, R.style.SplashScreenTheme);

效果如下所示,我們能夠看到頂部紅色的狀態欄:

android中使用react-native設置應用啟動頁過程詳解

[ios_lanch_screen_custom.gif]

ios:

更新AppDelegate.m文件如下所示代碼:

#import 'AppDelegate.h'#import <React/RCTBundleURLProvider.h>#import <React/RCTRootView.h>#import <React/RCTRootView.h>#import 'RNSplashScreen.h' // 導入啟動頁組件庫@implementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ NSURL *jsCodeLocation; jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@'index' fallbackResource:nil]; RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation moduleName:@'LoveYouDeeply' initialProperties:nil launchOptions:launchOptions]; rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1]; self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; UIViewController *rootViewController = [UIViewController new]; rootViewController.view = rootView; self.window.rootViewController = rootViewController; [self.window makeKeyAndVisible]; [RNSplashScreen show]; // 添加啟動頁展示 return YES;}@end

然后通過LaunchImage or LaunchScreen.xib自定義啟動頁,其具體過程如下所示, 1、用Xcode打開ios工程,找到Image.xcassets并點擊選中,在空白處選擇 App Icons & Launch Images ➜ New ios Launch Image , 完成這步后會生成一個LaunchImage,操作界面如下所示:

android中使用react-native設置應用啟動頁過程詳解

2、選中Image.xcassets ➜ LaunchImage,就是上一步創建的LaunchImage,右側框中的部分是讓你選擇要支持的系統,橫豎屏之類的(這個按照需求選擇,如果你的項目不打算支持ios6可以不選擇)。然后點擊中間部分選中一個分辨率的框,上傳相應分辨率的圖片作為啟動屏幕

以下是選擇框中不同屏幕的分辨率,按照下面給出的像素進行制作特定大小的圖片添加即可:

iPhone Portrait iOS 8-Retina HD 5.5 (1242×2208) @3xiPhone Portrait iOS 8-Retina HD 5.5 (1242×2208) @3xiPhone Portrait iOS 8-Retina HD 4.7 (750×1334) @2xiPhone Portrait iOS 7,8-2x (640×960) @2xiPhone Portrait iOS 7,8-Retina 4 (640×1136) @2xiPhone Portrait iOS 5,6-1x (320×480) @1xiPhone Portrait iOS 5,6-2x (640×960) @2xiPhone Portrait iOS 5,6-Retina4 (640×1136) @2x

3、選中LaunchScreen.xib,會有個彈出框,默認選擇確定就行,然后把右邊的 Use Launch Screen 取消選中(因為ios可以用來自定義圖片啟動屏幕或通過 LaunchScreen.xib啟動屏幕,ios默認s設置,我們在這里取消掉默認設置的)。 界面如下所示:

android中使用react-native設置應用啟動頁過程詳解

4、如圖選中項目工程,右側會出現工程的基本配置,設置Launch Images Srouce配置為LaunchImage(如果沒有LaunchImage會彈出一個框提示拷貝圖片,按照默認點確定就行),然后設置Launch Screen File為空(這個很重要)。

現在,我們所有的準備工作都已經完成,下面就是在js代碼中的使用,在React-Native代碼中進行隱藏啟動頁, 當我們準備好js代碼之后,我們就可以將我們的啟動頁進行隱藏掉,其中隱藏啟動頁的代碼如下所思:

import React, { Component } from ’react’;import SplashScreen from ’react-native-splash-screen’;import Router from ’./src/routerManager’;export default class App extends Component { constructor(props) { super(props); // do anything while splash screen keeps, use await to wait for an async task. // 在入口文件處隱藏掉啟動頁 SplashScreen.hide(); // 關閉啟動屏幕 } render() { return ( <Router {...this.props} /> ); }}

在ios系統配置中,

四、效果展示

Android:

android中使用react-native設置應用啟動頁過程詳解

以上就是啟動頁的設置解決方案

到此這篇關于android中使用react-native設置應用啟動頁過程詳解的文章就介紹到這了,更多相關android react-native設置應用啟動頁內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Android
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
老鸭窝毛片一区二区三区| 日韩在线观看不卡| 免费视频一区三区| 久久久9色精品国产一区二区三区| 国产极品模特精品一二| 欧美日韩1区| 国产精品久久久久毛片大屁完整版| 日本aⅴ免费视频一区二区三区| 蜜臀av在线播放一区二区三区| 国户精品久久久久久久久久久不卡| 日韩免费小视频| 国产精品7m凸凹视频分类| 久久99影视| 午夜久久99| 五月天久久久| 免费视频国产一区| 日韩中文字幕av电影| 日韩国产一二三区| 成人台湾亚洲精品一区二区| 免费污视频在线一区| 中文无码日韩欧| 麻豆91在线播放| 亚洲福利精品| 国产亚洲第一伦理第一区| 久久精品97| 伊人久久高清| 日韩精品一区二区三区免费视频 | 日本亚州欧洲精品不卡| 国产福利资源一区| 欧美日韩国产传媒| 国产精品美女久久久久久不卡| 天堂av在线| 欧美精品影院| 亚洲午夜精品久久久久久app| 蜜桃视频一区二区三区在线观看| 欧美极品中文字幕| 99热精品在线观看| 国产一区二区三区91| 中文一区一区三区免费在线观| 国产精品亚洲欧美一级在线| 成人av二区| 一区二区三区四区日本视频| 日本不卡视频一二三区| 久久亚洲国产| 久久精品国产成人一区二区三区| 在线国产一区二区| 精品亚洲美女网站| 精品国产乱码| 97久久亚洲| 日韩午夜精品| 午夜日韩福利| 日韩激情一区| 高清久久一区| 老色鬼精品视频在线观看播放| 日本午夜精品久久久| 中文字幕视频精品一区二区三区| 久久精品免费一区二区三区| 97国产成人高清在线观看| 国产精品nxnn| 亚洲综合专区| 视频一区日韩精品| 日本一不卡视频| 色狠狠一区二区三区| 日韩一区精品字幕| 一区在线免费| 视频一区视频二区中文字幕| 亚洲综合丁香| 老牛国产精品一区的观看方式| 99在线精品视频在线观看| 2023国产精品久久久精品双| 激情综合网站| 香蕉成人久久| 日本在线不卡视频| 国产高清亚洲| 色在线视频观看| 国产精品婷婷| 国产日本亚洲| 久久精品国产99国产精品| 国产传媒在线观看| 天堂中文在线播放| 性欧美精品高清| 国产精品久久久久久av公交车| 国产一区二区精品福利地址| 久久激情婷婷| 欧美久久亚洲| 丝袜美腿诱惑一区二区三区| re久久精品视频| 日本午夜精品久久久| 色黄视频在线观看| 亚洲精品激情| 在线看片国产福利你懂的| 亚洲欧洲一区| 免费一区二区三区在线视频| 伊人精品一区| 日韩国产欧美在线播放| 国语精品一区| 亚洲我射av| 久久精品91| 国产精品羞羞答答在线观看| 欧美丝袜一区| 精品理论电影在线| 天堂va在线高清一区| 国产 日韩 欧美一区| **爰片久久毛片| 国产亚洲精品v| 国产成人精品999在线观看| 视频一区中文字幕精品| 亚洲激情国产| 免费在线小视频| 日本va欧美va欧美va精品| 激情欧美一区| 青青久久av| 日韩综合在线| 国产一区二区久久久久| 日本一区二区三区中文字幕| 亚洲欧美日韩国产综合精品二区| 蜜臀久久精品| 日韩啪啪电影网| 国内自拍视频一区二区三区| 国产欧美一区| 日本欧美一区二区| 亚洲欧美日韩国产| 亚洲一区免费| 丝袜美腿亚洲一区二区图片| 激情黄产视频在线免费观看| 久久麻豆视频| 久久久久97| 福利精品在线| 日韩大片在线| 欧美性感美女一区二区| 亚洲精品888| 亚洲日本欧美| 国产精品一页| 激情中国色综合| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 国产91一区| 激情久久五月| 亚洲最大av| 亚洲18在线| 日本精品在线中文字幕| 高清一区二区| 精品久久精品| 国产一区二区精品久| 国产不卡人人| 亚洲1234区| 欧美中文日韩| 欧美日韩1区2区3区| 精品一区二区三区中文字幕| 国产精品久久久久久久久久齐齐| 久久99影视| 亚洲91视频| 亚洲aa在线| 久久久国产精品网站| 久久美女性网| 日韩中出av| 日韩精品第一区| 天堂成人免费av电影一区| 国产日韩三级| 日韩精品一区二区三区免费观影 | 午夜精品婷婷| 国产九九精品| 国产一区清纯| 精品一区二区三区视频在线播放| 激情久久婷婷| 麻豆精品视频在线观看视频| 9国产精品视频| 国产黄大片在线观看| 综合色一区二区| 蜜桃tv一区二区三区| 国产精品sss在线观看av| 中文日韩在线| 国产理论在线| 麻豆高清免费国产一区| 一区在线免费| 99热精品久久| 久久99高清| 欧美日韩伊人| 视频一区欧美日韩| 欧美91福利在线观看| 精品中文字幕一区二区三区 | 国模 一区 二区 三区| 久久不见久久见中文字幕免费| 日韩在线a电影| 丝袜美腿亚洲一区二区图片| 亚洲高清av| 日韩深夜视频| 免费日韩一区二区三区| 日本不卡一二三区黄网| 亚洲免费毛片| 日本不卡视频在线观看| 综合国产在线| 视频一区日韩精品| 日韩区一区二| 青青草视频一区| 欧美久久一区二区三区| 国产精品主播在线观看| 国产精品xxx在线观看| 国产精品宾馆| 色综合五月天| 日韩一区电影|